---
title: "Changes to Get a contact by its ID or external ID"
method: GET
path: "/contacts/{id}"
---

# Changes to Get a contact by its ID or external ID

`GET /contacts/{id}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 5 of 63 revisions.

- **2026-10-12** `40bf3229d58f`: 1 info
- **2026-10-11** `dfb481067e5a`: 7 breaking, 2 warning, 97 info
- **2026-09-12** `e85c0a2a3253`: 4 info
- **2026-08-28** `fe3adb90ea45`: 1 info
- **2026-08-18** `b387b041ea8e`: 2 warning

## Changes

- **2026-10-12** `40bf3229d58f`: 1 info
  - the response property `data` became required for the status `200`
- **2026-10-11** `dfb481067e5a`: 7 breaking, 2 warning, 97 info
  - the response property `data/account` became nullable for the status `200`
  - the response property `data/custom_fields` became nullable for the status `200`
  - the response property `data/emails` became nullable for the status `200`
  - the response property `data/external_ids` became nullable for the status `200`
  - the response property `data/integration_user_ids` became nullable for the status `200`
  - the response property `data/phone_numbers` became nullable for the status `200`
  - the `data/account` response's property type changed from `object` to no type for status `200`
  - removed the optional property `data/account/external_ids` from the response with the `200` status
  - removed the optional property `data/account/id` from the response with the `200` status
  - added the non-success response with the status `401`
  - added the non-success response with the status `429`
  - added `#/components/schemas/MiniAccount` to the `data/account` response property `allOf` list for the response status `200`
  - the response property `data/avatar_url` became required for the status `200`
  - the response property `data/id` became required for the status `200`
  - the response property `data/integration_user_ids/items/id` became required for the status `200`
  - the response property `data/integration_user_ids/items/source` became required for the status `200`
  - the response property `data/name` became required for the status `200`
  - the response property `data/portal_role` became required for the status `200`
  - the response property `request_id` became required for the status `200`
  - the response property `request_id` became required for the status `400`
  - the response property `request_id` became required for the status `403`
  - the response property `request_id` became required for the status `404`
  - the response property `request_id` became required for the status `500`
  - removed the `admin` enum value from the `data/portal_role` response property for the response status `200`
  - removed the `duplicate_object` enum value from the `code` response property for the response status `400`
  - removed the `duplicate_object` enum value from the `code` response property for the response status `403`
  - removed the `duplicate_object` enum value from the `code` response property for the response status `404`
  - removed the `duplicate_object` enum value from the `code` response property for the response status `500`
  - removed the `email_bounced` enum value from the `code` response property for the response status `400`
  - removed the `email_bounced` enum value from the `code` response property for the response status `403`
  - removed the `email_bounced` enum value from the `code` response property for the response status `404`
  - removed the `email_bounced` enum value from the `code` response property for the response status `500`
  - removed the `internal_error` enum value from the `code` response property for the response status `400`
  - removed the `internal_error` enum value from the `code` response property for the response status `403`
  - removed the `internal_error` enum value from the `code` response property for the response status `404`
  - removed the `internal_error` enum value from the `code` response property for the response status `500`
  - removed the `internal_issue_reply_not_allowed` enum value from the `code` response property for the response status `400`
  - removed the `internal_issue_reply_not_allowed` enum value from the `code` response property for the response status `403`
  - removed the `internal_issue_reply_not_allowed` enum value from the `code` response property for the response status `404`
  - removed the `internal_issue_reply_not_allowed` enum value from the `code` response property for the response status `500`
  - …66 more
- **2026-09-12** `e85c0a2a3253`: 4 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `403` status
  - added the optional property `code` to the response with the `404` status
  - added the optional property `code` to the response with the `500` status
- **2026-08-28** `fe3adb90ea45`: 1 info
  - added the non-success response with the status `403`
- **2026-08-18** `b387b041ea8e`: 2 warning
  - deleted the `query` request parameter `cursor`
  - deleted the `query` request parameter `limit`

---

[Operation](https://skmtc.dev/usepylon/apis/pylon-api/docs/contacts/:id/get.md) - [API](https://skmtc.dev/usepylon/apis/pylon-api.md) - [Page](https://skmtc.dev/usepylon/apis/pylon-api/changes/contacts/:id/get)
