# Message reference

Roles and statuses returned on conversation messages.



Reference data for the `role` and `status` fields returned by the message endpoints.

## Roles [#roles]

| Role        | Description                                                                                                                                                                             |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user`      | Messages sent by the API caller (your prompts)                                                                                                                                          |
| `assistant` | Responses from the agent                                                                                                                                                                |
| `system`    | System notifications, including error messages from nairid                                                                                                                              |
| `progress`  | Intermediate streaming events emitted by the agent. The `content` field is a JSON envelope (`{"job_id":"...","progress_type":"text","text_delta":"..."}`). Most callers can skip these. |

## Statuses [#statuses]

| Status      | Description                                                                |
| ----------- | -------------------------------------------------------------------------- |
| `queued`    | Message is waiting to be processed (no agent available yet)                |
| `pending`   | Message is being processed by an agent                                     |
| `completed` | Message has been processed successfully                                    |
| `failed`    | Message processing failed. Check for a sibling system message for details. |
