---
title: "Get all Persons"
method: GET
path: "/v2/persons"
tags: ["Persons"]
---

# Get all Persons

`GET /v2/persons`

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).

## Query parameters

- `cursor` string
- `limit` integer
- `ids` integer[]
- `fieldIds` string[]
- `fieldTypes` string[]

## Response `200`

OK

- PersonPaged — PersonPaged model
  - `data` Person[], required — A page of Person results
    - `id` integer, required — The persons's unique identifier
    - `firstName` string, required — The person's first name
    - `lastName` string, nullable, required — The person's last name
    - `primaryEmailAddress` string, email, nullable, required — The person's primary email address
    - `emailAddresses` string[], required — All of the person's email addresses
    - `type` 'internal' | 'external', required — The person's type. `internal` - people who are users within your Affinity instance. `external` - people who are not internal.
    - `fields` Field[] — The fields associated with the person
      - `id` string, required — The field's unique identifier
      - `name` string, required — The field's name
      - `type` 'enriched' | 'global' | 'list' | 'relationship-intelligence' | 'hidden', required — The field's category. `hidden` is a redaction state rather than a category: it signals a field on a restricted opportunity the caller cannot manage, whose value is masked.
      - `enrichmentSource` 'affinity-data' | 'dealroom' | 'eventbrite' | 'mailchimp' | 'null', nullable, required — The source of the data in this Field (if it is enriched)
      - `value` union, required
        - CompaniesValue
          - `type` 'company-multi', required — The type of value
          - `data` CompanyData[], nullable, required — The values for many companies
            - `id` integer, required — The company's unique identifier
            - `name` string, required — The company's name
            - `domain` string, hostname, nullable, required — The company's primary domain
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - CompanyValue
          - `type` 'company', required — The type of value
          - `data` CompanyData, required
            - `id` integer, required — The company's unique identifier
            - `name` string, required — The company's name
            - `domain` string, hostname, nullable, required — The company's primary domain
        - DateValue
          - `type` 'datetime', required — The type of value
          - `data` string, date-time, nullable, required — The value for a date
        - DropdownsValue
          - `type` 'dropdown-multi', required — The type of value
          - `data` Dropdown[], nullable, required — The value for many dropdown items
            - `dropdownOptionId` integer, required — Dropdown item's unique identifier
            - `text` string, required — Dropdown item text
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - DropdownValue
          - `type` 'dropdown', required — The type of value
          - `data` Dropdown, required
            - `dropdownOptionId` integer, required — Dropdown item's unique identifier
            - `text` string, required — Dropdown item text
        - FloatsValue
          - `type` 'number-multi', required — The type of value
          - `data` number[], nullable, required — The value for many numbers
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - FloatValue
          - `type` 'number', required — The type of value
          - `data` number, nullable, required — The value for a number
        - FormulaValue
          - `type` 'formula-number', required — The type of value
          - `data` FormulaNumber, required
            - `calculatedValue` number, nullable — Calculated value
        - InteractionValue
          - `type` 'interaction', required — The type of value
          - `data` union, required
            - ChatMessage
              - …
            - Email
              - …
            - Meeting
              - …
            - PhoneCall
              - …
        - LocationsValue
          - `type` 'location-multi', required — The type of value
          - `data` Location[], nullable, required — The values for many locations
            - `streetAddress` string, nullable, required — Street address
            - `city` string, nullable, required — City
            - `state` string, nullable, required — State
            - `country` string, nullable, required — Country
            - `continent` string, nullable, required — Continent
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - LocationValue
          - `type` 'location', required — The type of value
          - `data` Location, required
            - `streetAddress` string, nullable, required — Street address
            - `city` string, nullable, required — City
            - `state` string, nullable, required — State
            - `country` string, nullable, required — Country
            - `continent` string, nullable, required — Continent
        - PersonsValue
          - `type` 'person-multi', required — The type of value
          - `data` PersonData[], nullable, required — The values for many persons
            - `id` integer, required — The persons's unique identifier
            - `firstName` string, nullable, required — The person's first name
            - `lastName` string, nullable, required — The person's last name
            - `primaryEmailAddress` string, email, nullable, required — The person's primary email address
            - `type` 'internal' | 'collaborator' | 'external', required — The person's type. `internal` - people who are users within your Affinity instance. `collaborator` - individuals outside of your company who have read-only access to specified Affinity list views and stay updated on your firm's activities. `external` - people who are not internal nor collaborators.
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - PersonValue
          - `type` 'person', required — The type of value
          - `data` PersonData, required
            - `id` integer, required — The persons's unique identifier
            - `firstName` string, nullable, required — The person's first name
            - `lastName` string, nullable, required — The person's last name
            - `primaryEmailAddress` string, email, nullable, required — The person's primary email address
            - `type` 'internal' | 'collaborator' | 'external', required — The person's type. `internal` - people who are users within your Affinity instance. `collaborator` - individuals outside of your company who have read-only access to specified Affinity list views and stay updated on your firm's activities. `external` - people who are not internal nor collaborators.
        - RankedDropdownValue
          - `type` 'ranked-dropdown', required — The type of value
          - `data` RankedDropdown, required
            - `dropdownOptionId` integer, required — Dropdown item's unique identifier
            - `text` string, required — Dropdown item text
            - `rank` integer, required — Dropdown item rank
            - `color` string, nullable, required — Dropdown item color
        - TextsValue
          - `type` 'filterable-text-multi', required — The type of value
          - `data` string[], nullable, required — The value for many strings
          - `totalCount` integer — The total number of values for this field. When totalCount exceeds the length of data, additional values can be retrieved using the field values endpoint.
        - TextValue
          - `type` 'filterable-text' | 'text', required — The type of value
          - `data` string, nullable, required — The value for a string
  - `pagination` Pagination, required
    - `prevUrl` string, uri, nullable — URL for the previous page
    - `nextUrl` string, uri, nullable — URL for the next page

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `default` — Errors

---

[API](https://skmtc.net/affinity/apis/affinity-api-v2.md) · [All operations](https://skmtc.net/affinity/apis/affinity-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/affinity/affinity-api-v2/revisions/4c2891c31b7f/schema)
