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

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

Use this endpoint to fetch the latest Shilo Signal for a specific agent. A Shilo Signal is the latest AI-derived behavioral and communication profile for the user, distilled from their call activity. Use it to inform coaching conversations, prepare for one-on-ones, and adapt how you communicate with the agent.

## Endpoint

```text theme={null}
GET https://api.shilo.ai/api/v1/users/{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 user. Three formats are supported:

  | Format              | Example                                   |
  | ------------------- | ----------------------------------------- |
  | Plain Shilo UUID    | `ee6f2136-b94a-4438-9335-3acf5b2a0d31`    |
  | Prefixed Shilo UUID | `id:ee6f2136-b94a-4438-9335-3acf5b2a0d31` |
  | External user ID    | `external_user_id:agent-1`                |
</ParamField>

## Response

A successful request returns HTTP `200` with a `UserSignal` object describing the agent's latest behavioral and communication profile.

The `UserSignal` object contains the following required fields:

* `user_id`: the Shilo UUID for the user.
* `external_user_id`: your system's user ID.
* `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.
</Note>

## Error Codes

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

## Example Request

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

### Look up by external user ID

```bash theme={null}
curl -X GET "https://api.shilo.ai/api/v1/users/external_user_id:agent-1/signal" \
  -H "x-api-key: YOUR_API_KEY"
```
