> For the complete documentation index, see [llms.txt](https://flapjax.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flapjax.gitbook.io/docs/rest-api/reference/people-events/get-person-by-external-id.md).

# Get Person by External ID

## Get person by external ID

> Retrieves a single person by their external identifier — the ID you assigned when creating the person. Returns the full person object including all standard fields and custom \`attribute\_values\`.\
> \
> Use this when you know the person's external ID (the identifier from your own system). To look up by the system-generated UUID instead, use the \`/people/internal/{uuid}\` endpoint.<br>

```json
{"openapi":"3.0.3","info":{"title":"Listener API","version":"1.0.0"},"tags":[{"name":"get-person-by-external-id"}],"servers":[{"url":"https://{domain}/v1","variables":{"domain":{"default":"your-domain","description":"Your deployment domain"}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token with the required scope for the endpoint. Pass via the `Authorization: Bearer <token>` header.\n"}},"parameters":{"PersonExternalId":{"name":"external_id","in":"path","required":true,"description":"The external identifier assigned to the person.","schema":{"type":"string"}}},"schemas":{"PersonResponse":{"type":"object","description":"Response envelope containing a person object.","properties":{"status":{"type":"string","enum":["Success"]},"data":{"$ref":"#/components/schemas/Person"}}},"Person":{"type":"object","description":"A person (contact) object.","properties":{"id":{"type":"string","format":"uuid","description":"Internal UUID."},"external_id":{"type":"string","description":"External identifier."},"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string","format":"email"},"mobile_prefix":{"type":"string"},"mobile_number":{"type":"string"},"date_of_birth":{"type":"string"},"language":{"type":"string"},"email_consent":{"type":"boolean"},"sms_consent":{"type":"boolean"},"push_notification_consent":{"type":"boolean"},"attribute_values":{"type":"object","additionalProperties":true}}},"ErrorResponse":{"type":"object","description":"Standard error response envelope.","properties":{"error":{"type":"string","description":"Machine-readable error type. Use this for programmatic error handling.\n","enum":["operation_failed","failed_binding_json","invalid_json","invalid_parameter","not_found","duplicate_entry","rate_limit_exceeded"]},"errorstack":{"type":"object","nullable":true,"description":"Detailed error stack (only present for server errors)."}}}}},"paths":{"/people/{external_id}":{"get":{"summary":"Get person by external ID","operationId":"getPersonByExternalId","tags":["get-person-by-external-id"],"description":"Retrieves a single person by their external identifier — the ID you assigned when creating the person. Returns the full person object including all standard fields and custom `attribute_values`.\n\nUse this when you know the person's external ID (the identifier from your own system). To look up by the system-generated UUID instead, use the `/people/internal/{uuid}` endpoint.\n","parameters":[{"$ref":"#/components/parameters/PersonExternalId"}],"responses":{"200":{"description":"Person found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponse"}}}},"500":{"description":"Person not found or internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```
