> ## 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 Contact Signal — Shilo API Reference

> Retrieve the latest AI-derived behavioral and communication profile for a contact, including DISC dimensions and coaching-oriented context.

Use this endpoint to fetch the latest Shilo Signal for a specific contact. A Shilo Signal is the latest AI-derived behavioral and communication profile for the contact, distilled from their interactions with your team. Use it to tailor communication, prepare for the next conversation, and adapt your approach to the contact's style.

## Endpoint

```text theme={null}
GET https://api.shilo.ai/api/v1/contacts/{identifier}/signal
```

## Authentication

Include your API key in the request header:

```text theme={null}
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 `ContactSignal` object describing the contact's latest behavioral and communication profile.

The `ContactSignal` object contains the following required fields:

* `contact_id`: the Shilo UUID for the contact.
* `external_contact_id`: your system's contact ID (nullable).
* `id`, `name`, `aboutMe`, `reasoning`, `conflictStyle`, `coreMotivators`, `socialOrientation`, `fearsAndAvoidances`, `maxPerformanceRecs`, and `psychologicalSummary`.
* `DISC`: a required object containing the following required fields:
  * `dominance`
  * `influence`
  * `steadiness`
  * `conscientiousness`
  * `profileName`
  * `profileType`

<Note>
  The profile fields above are present on a successful response. `external_contact_id` may be `null`.
</Note>

## Error Codes

| Status | Meaning                                                                       |
| ------ | ----------------------------------------------------------------------------- |
| `400`  | Invalid or malformed identifier.                                              |
| `404`  | No contact found matching the provided identifier.                            |
| `500`  | The stored signal payload for this contact is invalid or could not be parsed. |

## Example Request

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