# Filtering Participants

{% hint style="danger" %}
**Important Note!**\
\
Constructor Groups’ V1 API has been retired and is no longer available to new customers. Please use the Groups V2 API going forward.\
\
Link to V2 API documentation: <https://developer.perculus.com/v2-en>
{% endhint %}

{% hint style="info" %}
If you like to see all participants belonging to a session, you can achieve this by not sending any parameters to the request.
{% endhint %}

Available parameters:

| Parameter        | Type    | Description                                                                                               |
| ---------------- | ------- | --------------------------------------------------------------------------------------------------------- |
| user\_id         | string  | GUID of the user                                                                                          |
| attendance\_code | string  | Attendance code of the participant                                                                        |
| name             | string  | Name of the participant                                                                                   |
| surname          | string  | Surname of the participant                                                                                |
| email            | string  | Email of the participant                                                                                  |
| role             | string  | Role of the participant([see](https://developer.perculus.com/accepted-formats/roles) for possible values) |
| mobile           | string  | Mobile of the participant                                                                                 |
| page\_size       | integer | Page size                                                                                                 |
| page\_number     | integer | Page number                                                                                               |

Example payload:

{% tabs %}
{% tab title="CURL" %}

```bash
curl --location --request GET 'https://<DOMAIN>/xapi/session/<SESSION_ID>/attendee/<EMAIL>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: x-www-form-urlencoded' \
--data-urlencode 'name=john' \
--data-urlencode 'surname=doe'
```

{% endtab %}

{% tab title="Python" %}

```python
from perculus_sdk.client import APIClient

# API client
client = APIClient()
...

# Filter Attendees
attendees = client.attendees.search_attendees(
    session_id="<SESSION_ID>",
    params={
        "name": "<NAME>",
        "role": "<ROLE>"
    }
)
print(attendees)
```

{% endtab %}

{% tab title="C#" %}

```
// ASAP :)
```

{% endtab %}

{% tab title="NodeJS" %}
{% code fullWidth="false" %}

```javascript
import APIClient from "perculus-sdk"

// API client
const client = new APIClient()
...

// Get Attendees
const attendees = client.attendees.searchAttendees("<SESSION_ID>",
    {
        name: "<NAME>",
        role: "<ROLE>"
    }
)
console.log(attendees)
```

{% endcode %}
{% endtab %}

{% tab title="GO" %}

```
// ASAP :)
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.perculus.com/services/participant-management/attande-filter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
