---
title: "Get a single Person"
method: GET
path: "/v2/persons/{personId}"
tags: ["Persons"]
---

# Get a single Person

`GET /v2/persons/{personId}`

Returns basic information and non-list-specific field data on the requested 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`.

## Path parameters

- `personId` integer, required

## Query parameters

- `fieldIds` string[]
- `fieldTypes` string[]

## Response `200`

OK

- Person — Person model
  - `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
            - `type` 'chat-message', required — The type of interaction
            - `id` integer, required — The chat message's unique identifier
            - `direction` 'received' | 'sent', required — The direction of the chat message
            - `sentAt` string, date-time, required — The time the chat message was sent
            - `manualCreator` PersonData, required
              - …
            - `participants` PersonData[], required — The participants of the chat
              - …
          - Email
            - `type` 'email', required — The type of interaction
            - `id` integer, required — The email's unique identifier
            - `subject` string, nullable, required — The subject of the email
            - `sentAt` string, date-time, required — The time the email was sent
            - `from` Attendee, required
              - …
            - `to` Attendee[], required — The recipients of the email
              - …
            - `cc` Attendee[], required — The cc recipients of the email
              - …
          - Meeting
            - `type` 'meeting', required — The type of interaction
            - `id` integer, required — The meeting's unique identifier
            - `title` string, nullable, required — The meeting's title
            - `allDay` boolean, required — Whether the meeting is an all-day event
            - `startTime` string, date-time, required — The meeting start time
            - `endTime` string, date-time, nullable, required — The meeting end time
            - `attendees` Attendee[], required — People attending the meeting
              - …
          - PhoneCall
            - `type` 'call', required — The type of interaction
            - `id` integer, required — The phone call's unique identifier
            - `startTime` string, date-time, required — The call start time
            - `attendees` Attendee[], required — People attending the call
              - …
      - 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

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `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)
