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

# Input Parameters - Person Retrieve API

> *Detailed information on the input parameters for the Person Retrieve API*

## Required Parameters

### `person_id`

| Type     | Description                                                                       | Example                       |
| :------- | :-------------------------------------------------------------------------------- | :---------------------------- |
| `String` | The [PDL Persistent ID](/docs/persistent-ids) for a record in our Person Dataset. | `qEnOZ5Oh0poWnQ1luFBfVw_0000` |

When calling the Person Retrieve API in URL, you must specify this as part of the [endpoint URL](/docs/reference-person-retrieve-api/#endpoint).

You must use a [Persistent ID](/docs/persistent-ids) for the `person_id`. If the provided ID does not represent a record from our [Person Dataset](/docs/stats), then the Person Retrieve API will return a `404 Not Found` error.

<Info>
  **Using the `person_id` Parameter in URL**

  When calling the Person Retrieve API in URL, you must pass the `person_id` parameter as part of the endpoint path rather than as a URL parameter.

  For example, using the ID `qEnOZ5Oh0poWnQ1luFBfVw_0000`:

  * Correct: `v5/person/retrieve/qEnOZ5Oh0poWnQ1luFBfVw_0000`
  * Incorrect: `v5/person/retrieve?person_id=qEnOZ5Oh0poWnQ1luFBfVw_0000`
</Info>

***

## Optional Parameters

### `pretty`

| Type      | Description                                                                               | Default | Example |
| :-------- | :---------------------------------------------------------------------------------------- | :------ | :------ |
| `Boolean` | Whether the output should have [human-readable](http://jsonprettyprint.net/) indentation. | `false` | `true`  |

<br />

### `api_key`

| Type     | Description          | Default | Example |
| :------- | :------------------- | :------ | :------ |
| `String` | Your secret API key. |         |         |

Your API Key **must** be included in either the request header or the `api_key` parameter. For more information about request authentication, see the [Authentication](/docs/authentication) page.

<br />

### `filter_updated`

| Type            | Description                                                 | Default | Example      |
| :-------------- | :---------------------------------------------------------- | :------ | :----------- |
| `Enum (String)` | Which Person Data field changes count as an updated record. |         | `job_change` |

Use this parameter to filter which changes to person records count as an update. If you include this parameter in your request, only changes to the parameter-specific fields will count as an update.

If this parameter is not included in the request, any changes to the record (new data source, any field value change) will count as an update.

#### Supported Filters

<table>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>Filter Name</th>
      <th style={{ textAlign: "left" }}>Update Based On</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>`education`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#education">`education`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`job_change`</td>

      <td style={{ textAlign: "left" }}>
        <a href="doc:fields#job_company_id">`job_company_id`</a>\
        <a href="doc:fields#job_title">`job_title`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`location`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#location_name">`location_name`</a>\
        <a href="/docs/fields#location_locality">`location_locality`</a>\
        <a href="/docs/fields#location_metro">`location_metro`</a>\
        <a href="/docs/fields#location_region">`location_region`</a>\
        <a href="/docs/fields#location_country">`location_country`</a>\
        <a href="/docs/fields#location_continent">`location_continent`</a>\
        <a href="/docs/fields#location_street_address">`location_street_address`</a>\
        <a href="/docs/fields#location_address_line_2">`location_address_line_2`</a>\
        <a href="/docs/fields#location_postal_code">`location_postal_code`</a>\
        <a href="/docs/fields#location_geo">`location_geo`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`mobile_phone_number`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#mobile_phone">`mobile_phone`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`personal_emails`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#personal_emails">`personal_emails`</a>\
        <a href="/docs/fields#recommended_personal_email">`recommended_personal_email`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`phone_number`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#mobile_phone">`mobile_phone`</a>\
        <a href="/docs/fields#phone_numbers">`phone_numbers`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`social_profile`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#linkedin_url">`linkedin_url`</a>\
        <a href="/docs/fields#linkedin_username">`linkedin_username`</a>\
        <a href="/docs/fields#linkedin_id">`linkedin_id`</a>\
        <a href="/docs/fields#facebook_url">`facebook_url`</a>\
        <a href="/docs/fields#facebook_username">`facebook_username`</a>\
        <a href="/docs/fields#facebook_id">`facebook_id`</a>\
        <a href="/docs/fields#twitter_url">`twitter_url`</a>\
        <a href="/docs/fields#twitter_username">`twitter_username`</a>\
        <a href="/docs/fields#github_url">`github_url`</a>\
        <a href="/docs/fields#github_username">`github_username`</a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>`work_email`</td>

      <td style={{ textAlign: "left" }}>
        <a href="/docs/fields#work_email">`work_email`</a>
      </td>
    </tr>
  </tbody>
</table>

#### Using Multiple Filters

The Retrieve API supports using **multiple filters** in the same request. For example, if you use both the `job_change` and `location` filters, a match will be returned if **any** of the associated fields for either filter have been updated (logical OR).

To use multiple filters, set `filter_updated` to a comma-separated string containing each filter name.

```bash cURL theme={null}
curl -X GET -G \
  'https://api.peopledatalabs.com/v5/person/retrieve/RECORD_ID_TO_RETRIEVE'\
  -H 'X-Api-Key: xxxx' \
  --data-urlencode 'filter_updated=job_change,location'
```


## Related topics

- [Input Parameters - Person Changelog API](/docs/input-parameters-person-changelog-api.md)
- [Input Parameters - Person Search API](/docs/input-parameters-person-search-api.md)
- [Input Parameters - Job Posting Search API](/docs/input-parameters-job-posting-search-api.md)
- [July 2023 Release Notes](/changelog/july-2023-release-notes-v23.md)
- [Input Parameters - Company Search API](/docs/input-parameters-company-search-api.md)
