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

# Get a Contact — Shilo API Reference

> Retrieve a single contact by Shilo UUID or your external contact ID. Supports id:uuid and external_contact_id: prefix patterns for flexible lookup.

Use this endpoint to retrieve a single contact record from your Shilo organization. You can identify the contact using their Shilo UUID, a prefixed UUID, or your own external contact ID — whichever is most convenient for your integration. This flexibility lets you look up contacts without maintaining a separate mapping table between your system and Shilo.

## Endpoint

```
GET https://api.shilo.ai/api/v1/contacts/{identifier}
```

## Authentication

Include your API key in the request header:

```
x-api-key: YOUR_API_KEY
```

## Path Parameters

<ParamField path="identifier" type="string" required>
  The identifier used to look up the contact. Three formats are supported:

  | Format              | Example                                   |
  | ------------------- | ----------------------------------------- |
  | Plain Shilo UUID    | `ee6f2136-b94a-4438-9335-3acf5b2a0d31`    |
  | Prefixed Shilo UUID | `id:ee6f2136-b94a-4438-9335-3acf5b2a0d31` |
  | External contact ID | `external_contact_id:4534`                |
</ParamField>

## Response

A successful request returns HTTP `200` with a Contact object.

### Response Fields

<ResponseField name="id" type="string">
  The Shilo-assigned UUID for this contact.
</ResponseField>

<ResponseField name="external_contact_id" type="string">
  The contact ID from your external CRM or system of record.
</ResponseField>

<ResponseField name="name" type="string">
  Full display name of the contact.
</ResponseField>

<ResponseField name="first_name" type="string">
  Contact's first name.
</ResponseField>

<ResponseField name="last_name" type="string">
  Contact's last name.
</ResponseField>

<ResponseField name="phone" type="string">
  Primary phone number for the contact.
</ResponseField>

<ResponseField name="emails" type="array of strings">
  Email addresses associated with the contact.
</ResponseField>

<ResponseField name="stage" type="string">
  Human-readable label for the contact's current pipeline stage.
</ResponseField>

<ResponseField name="stage_id" type="string">
  Your system's ID for the pipeline stage.
</ResponseField>

<ResponseField name="source" type="string">
  Human-readable label for the contact's lead source.
</ResponseField>

<ResponseField name="source_id" type="string">
  Your system's ID for the lead source.
</ResponseField>

<ResponseField name="tags" type="array of strings">
  Tags applied to the contact.
</ResponseField>

<ResponseField name="created_date" type="string">
  ISO-8601 timestamp indicating when this contact was created in Shilo.
</ResponseField>

### Example Response

```json theme={null}
{
  "id": "ee6f2136-b94a-4438-9335-3acf5b2a0d31",
  "external_contact_id": "4534",
  "name": "Jamie Customer",
  "first_name": "Jamie",
  "last_name": "Customer",
  "phone": "(555) 555-9999",
  "emails": ["jamie@example.com"],
  "stage": "Negotiation",
  "stage_id": "stage-99",
  "source": "Zillow",
  "source_id": "src-7",
  "tags": ["hot-lead"],
  "created_date": "2024-09-01T10:00:00Z"
}
```

## Error Codes

| Status | Meaning                                                |
| ------ | ------------------------------------------------------ |
| `400`  | The identifier format is invalid or malformed.         |
| `404`  | No contact was found matching the provided identifier. |

## Example Requests

### Look up by plain Shilo UUID

```bash theme={null}
curl -X GET "https://api.shilo.ai/api/v1/contacts/ee6f2136-b94a-4438-9335-3acf5b2a0d31" \
  -H "x-api-key: YOUR_API_KEY"
```

### Look up by prefixed Shilo UUID

```bash theme={null}
curl -X GET "https://api.shilo.ai/api/v1/contacts/id:ee6f2136-b94a-4438-9335-3acf5b2a0d31" \
  -H "x-api-key: YOUR_API_KEY"
```

### Look up by external contact ID

```bash theme={null}
curl -X GET "https://api.shilo.ai/api/v1/contacts/external_contact_id:4534" \
  -H "x-api-key: YOUR_API_KEY"
```
