> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Affinity: V2 Users Get

> List the internal users on your Affinity team, with name, emails, status and role. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

List the internal users on your Affinity team, with name, emails, status and role.

> [!NOTE]
>
> Tool ID: `affinity_v2_users_get`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'affinity_v2_users_get',
  {
    "cursor": "cursor_123",
    "limit": 100,
    "term": "software companies hiring engineers"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute affinity_v2_users_get --input '{
  "cursor": "cursor_123",
  "limit": 100,
  "term": "software companies hiring engineers"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "data": [
      {
        "id": 123,
        "firstName": "Jane",
        "lastName": "Doe",
        "primaryEmailAddress": "jane.doe@example.com",
        "photoUrl": "https://example.com",
        "status": "active"
      }
    ],
    "pagination": {
      "prevUrl": "https://example.com",
      "nextUrl": "https://example.com"
    }
  }
}
```

Use `deepline describe affinity_v2_users_get --json` for the latest machine-readable contract.

## Input reference

\| ⚠️ This endpoint is currently in BETA | |--| Paginate through internal Users in your organization. Returns information about each User, including name, primary email address, all email addresses, photo URL, account status, and account role. The `emailAddresses` and `role` properties are only returned to callers with the "Manage Users" [permission](https://deepline.com/docs/pages/external-api-v2/permissions). Use the optional `term` parameter to filter by first name, last name, or primary email address. You can also filter users using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int32` | `=` | `id=1\\|id=2\\|id=3` | | `status` | `enum` | `=` | `status=active` |

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.cursor` | `string` | No | — | Cursor for the next or previous page |
| `payload.limit` | `integer` | No | `100` | Number of items to include in the page Format: `int32`. Minimum: 1. Maximum: 100. |
| `payload.term` | `string` | No | — | Case-insensitive search across first name, last name, and primary email address. Returns users matching the term as a substring. |
| `payload.filter` | `string` | No | — | Filter options |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "| ⚠️ This endpoint is currently in BETA | |--| Paginate through internal Users in your organization. Returns information about each User, including name, primary email address, all email addresses, photo URL, account status, and account role. The `emailAddresses` and `role` properties are only returned to callers with the \"Manage Users\" [permission](/pages/external-api-v2/permissions). Use the optional `term` parameter to filter by first name, last name, or primary email address. You can also filter users using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties. | **Property Name** | **Type** | **Allowed Operators** | **Examples** | |---|---|---|---| | `id` | `int32` | `=` | `id=1\\|id=2\\|id=3` | | `status` | `enum` | `=` | `status=active` |",
    "properties": {
      "cursor": {
        "type": "string",
        "description": "Cursor for the next or previous page"
      },
      "limit": {
        "type": "integer",
        "description": "Number of items to include in the page",
        "default": 100,
        "minimum": 1,
        "maximum": 100,
        "format": "int32"
      },
      "term": {
        "type": "string",
        "description": "Case-insensitive search across first name, last name, and primary email address. Returns users matching the term as a substring."
      },
      "filter": {
        "type": "string",
        "description": "Filter options"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | — |
| `result.data.data` | `array` | Yes | — | Maximum items: 100. |
| `result.data.data[].id` | `integer` | Yes | — | Format: `int32`. Minimum: 1. Maximum: 2147483647. |
| `result.data.data[].firstName` | `string` | Yes | — | — |
| `result.data.data[].lastName` | `string \| null` | Yes | — | — |
| `result.data.data[].primaryEmailAddress` | `string \| null` | Yes | — | Format: `email`. |
| `result.data.data[].emailAddresses` | `array` | No | — | Maximum items: 100. |
| `result.data.data[].photoUrl` | `string \| null` | Yes | — | Format: `uri`. |
| `result.data.data[].status` | `"active" \| "invited" \| "deactivated"` | Yes | — | Allowed: `active`, `invited`, `deactivated`. |
| `result.data.data[].role` | `string` | No | — | — |
| `result.data.pagination` | `object` | Yes | — | — |
| `result.data.pagination.prevUrl` | `string \| null` | No | — | Format: `uri`. |
| `result.data.pagination.nextUrl` | `string \| null` | No | — | Format: `uri`. |
| `result.meta` | `object` | No | — | — |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 2147483647,
                  "format": "int32"
                },
                "firstName": {
                  "type": "string"
                },
                "lastName": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "primaryEmailAddress": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "email"
                },
                "emailAddresses": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "string",
                    "format": "email"
                  }
                },
                "photoUrl": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "uri"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "invited",
                    "deactivated"
                  ]
                },
                "role": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "firstName",
                "lastName",
                "primaryEmailAddress",
                "photoUrl",
                "status"
              ],
              "additionalProperties": false
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "prevUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              },
              "nextUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Affinity provider guide](https://deepline.com/docs/providers/affinity/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.