> ## 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 Persons Get

> Get all Persons. Affinity V2 Persons Get reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Get all Persons.

<Info>
  Tool ID: `affinity_v2_persons_get`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'affinity_v2_persons_get',
  {
    "cursor": "cursor_123",
    "limit": 100,
    "ids": [
      123
    ]
  },
);

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

### CLI

```bash theme={null}
deepline tools execute affinity_v2_persons_get --input '{
  "cursor": "cursor_123",
  "limit": 100,
  "ids": [
    123
  ]
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "data": [
      {
        "id": 123,
        "firstName": "Jane",
        "lastName": "Doe",
        "primaryEmailAddress": "jane.doe@example.com",
        "emailAddresses": [
          "jane.doe@example.com"
        ],
        "type": "internal"
      }
    ],
    "pagination": {
      "prevUrl": "https://example.com",
      "nextUrl": "https://example.com"
    }
  }
}
```

Use `deepline tools get affinity_v2_persons_get --json` for the latest machine-readable contract.

## Input reference

Paginate through Persons in Affinity. Returns basic information and non-list-specific field data on each Person. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/persons/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Persons will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Requires the "Export All People directory" [permission](/docs/pages/external-api-v2/permissions).

| 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.ids` | `array` | No | — | People IDs |
| `payload.fieldIds` | `array` | No | — | Field IDs for which to return field data |
| `payload.fieldTypes` | `array` | No | — | Field Types for which to return field data |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Paginate through Persons in Affinity. Returns basic information and non-list-specific field data on each Person. To retrieve field data, you must use either the `fieldIds` or the `fieldTypes` parameter to specify the Fields for which you want data returned. These Field IDs and Types can be found using the GET `/v2/persons/fields` endpoint. When no `fieldIds` or `fieldTypes` are provided, Persons will be returned without any field data attached. To supply multiple `fieldIds` or `fieldTypes` parameters, generate a query string that looks like this: `?fieldIds=field-1234&fieldIds=affinity-data-location` or `?fieldTypes=enriched&fieldTypes=global`. Requires the \"Export All People directory\" [permission](/pages/external-api-v2/permissions).",
    "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"
      },
      "ids": {
        "type": "array",
        "description": "People IDs",
        "items": {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991,
          "format": "int64"
        }
      },
      "fieldIds": {
        "type": "array",
        "description": "Field IDs for which to return field data",
        "items": {
          "type": "string"
        }
      },
      "fieldTypes": {
        "type": "array",
        "description": "Field Types for which to return field data",
        "items": {
          "type": "string",
          "enum": [
            "enriched",
            "global",
            "relationship-intelligence"
          ]
        }
      }
    },
    "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: `int64`. Minimum: 1. Maximum: 9007199254740991. |
| `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` | Yes | — | — |
| `result.data.data[].type` | `"internal" \| "external"` | Yes | — | Allowed: `internal`, `external`. |
| `result.data.data[].fields` | `array` | No | — | — |
| `result.data.data[].fields[].id` | `string` | Yes | — | — |
| `result.data.data[].fields[].name` | `string` | Yes | — | — |
| `result.data.data[].fields[].type` | `"enriched" \| "global" \| "list" \| "relationship-intelligence" \| "hidden"` | Yes | — | Allowed: `enriched`, `global`, `list`, `relationship-intelligence`, `hidden`. |
| `result.data.data[].fields[].enrichmentSource` | `"affinity-data" \| "dealroom" \| "eventbrite" \| "mailchimp" \| null` | Yes | — | Allowed: `affinity-data`, `dealroom`, `eventbrite`, `mailchimp`, `null`. |
| `result.data.data[].fields[].value` | `object` | Yes | — | — |
| `result.data.data[].fields[].value.type` | `"company-multi"` | Yes | — | — |
| `result.data.data[].fields[].value.data` | `array \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].id` | `integer` | Yes | — | — |
| `result.data.data[].fields[].value.data[].name` | `string` | Yes | — | — |
| `result.data.data[].fields[].value.data[].domain` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.totalCount` | `integer` | No | — | Format: `int32`. Minimum: 0. Maximum: 2147483647. |
| `result.data.data[].fields[].value.data[].dropdownOptionId` | `integer` | Yes | — | — |
| `result.data.data[].fields[].value.data[].text` | `string` | Yes | — | — |
| `result.data.data[].fields[].value.data[].streetAddress` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].city` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].state` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].country` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].continent` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].firstName` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].lastName` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].primaryEmailAddress` | `string \| null` | Yes | — | — |
| `result.data.data[].fields[].value.data[].type` | `"internal" \| "collaborator" \| "external"` | Yes | — | — |
| `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 | — | — |

<Info>
  This output schema is too large to embed without slowing the page. Get the complete live contract with `deepline tools get affinity_v2_persons_get --json`.
</Info>

## 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](/docs/providers/affinity/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)


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