# Events

## Get Event

**get** `/events/{event_id}`

Get Event

### Path Parameters

- `event_id: string`

### Returns

- `Event object { id, agent_id, sequence_id, 3 more }`

  - `id: string`

    The UUID of the event

  - `agent_id: string`

    The UUID of the agent that the event belongs to

  - `sequence_id: number`

    The sequence ID of the event

  - `task_id: string`

    The UUID of the task that the event belongs to

  - `content: optional TaskMessageContent`

    The content of the event

    - `TextContent object { author, content, attachments, 3 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

        - `"user"`

        - `"agent"`

      - `content: string`

        The contents of the text message.

      - `attachments: optional array of object { file_id, name, size, type }`

        Optional list of file attachments with structured metadata.

        - `file_id: string`

          The unique ID of the attached file

        - `name: string`

          The name of the file

        - `size: number`

          The size of the file in bytes

        - `type: string`

          The MIME type or content type of the file

      - `format: optional TextFormat`

        The format of the message. This is used by the client to determine how to display the message.

        - `"markdown"`

        - `"plain"`

        - `"code"`

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

        - `"static"`

        - `"active"`

      - `type: optional "text"`

        The type of the message, in this case `text`.

        - `"text"`

    - `ReasoningContent object { author, summary, content, 2 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `summary: array of string`

        A list of short reasoning summaries

      - `content: optional array of string`

        The reasoning content or chain-of-thought text

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "reasoning"`

        The type of the message, in this case `reasoning`.

        - `"reasoning"`

    - `DataContent object { author, data, style, type }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `data: map[unknown]`

        The contents of the data message.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "data"`

        The type of the message, in this case `data`.

        - `"data"`

    - `ToolRequestContent object { arguments, author, name, 3 more }`

      - `arguments: map[unknown]`

        The arguments to the tool.

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `name: string`

        The name of the tool that is being requested.

      - `tool_call_id: string`

        The ID of the tool call that is being requested.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_request"`

        The type of the message, in this case `tool_request`.

        - `"tool_request"`

    - `ToolResponseContent object { author, content, name, 4 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `content: unknown`

        The result of the tool.

      - `name: string`

        The name of the tool that is being responded to.

      - `tool_call_id: string`

        The ID of the tool call that is being responded to.

      - `is_error: optional boolean`

        Whether the tool call resulted in an error. `None` when the harness does not report a status.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_response"`

        The type of the message, in this case `tool_response`.

        - `"tool_response"`

  - `created_at: optional string`

    The timestamp of the event

### Example

```http
curl http://localhost:5003/events/$EVENT_ID \
    -H "Authorization: Bearer $AGENTEX_SDK_API_KEY"
```

#### Response

```json
{
  "id": "id",
  "agent_id": "agent_id",
  "sequence_id": 0,
  "task_id": "task_id",
  "content": {
    "author": "user",
    "content": "content",
    "attachments": [
      {
        "file_id": "file_id",
        "name": "name",
        "size": 0,
        "type": "type"
      }
    ],
    "format": "markdown",
    "style": "static",
    "type": "text"
  },
  "created_at": "2019-12-27T18:11:19.117Z"
}
```

## List Events

**get** `/events`

List events for a specific task and agent.

Optionally filter for events after a specific sequence ID.
Results are ordered by sequence_id.

### Query Parameters

- `agent_id: string`

  The agent ID to filter events by

- `task_id: string`

  The task ID to filter events by

- `last_processed_event_id: optional string`

  Optional event ID to get events after this ID

- `limit: optional number`

  Optional limit on number of results

### Returns

- `id: string`

  The UUID of the event

- `agent_id: string`

  The UUID of the agent that the event belongs to

- `sequence_id: number`

  The sequence ID of the event

- `task_id: string`

  The UUID of the task that the event belongs to

- `content: optional TaskMessageContent`

  The content of the event

  - `TextContent object { author, content, attachments, 3 more }`

    - `author: MessageAuthor`

      The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `"user"`

      - `"agent"`

    - `content: string`

      The contents of the text message.

    - `attachments: optional array of object { file_id, name, size, type }`

      Optional list of file attachments with structured metadata.

      - `file_id: string`

        The unique ID of the attached file

      - `name: string`

        The name of the file

      - `size: number`

        The size of the file in bytes

      - `type: string`

        The MIME type or content type of the file

    - `format: optional TextFormat`

      The format of the message. This is used by the client to determine how to display the message.

      - `"markdown"`

      - `"plain"`

      - `"code"`

    - `style: optional MessageStyle`

      The style of the message. This is used by the client to determine how to display the message.

      - `"static"`

      - `"active"`

    - `type: optional "text"`

      The type of the message, in this case `text`.

      - `"text"`

  - `ReasoningContent object { author, summary, content, 2 more }`

    - `author: MessageAuthor`

      The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

    - `summary: array of string`

      A list of short reasoning summaries

    - `content: optional array of string`

      The reasoning content or chain-of-thought text

    - `style: optional MessageStyle`

      The style of the message. This is used by the client to determine how to display the message.

    - `type: optional "reasoning"`

      The type of the message, in this case `reasoning`.

      - `"reasoning"`

  - `DataContent object { author, data, style, type }`

    - `author: MessageAuthor`

      The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

    - `data: map[unknown]`

      The contents of the data message.

    - `style: optional MessageStyle`

      The style of the message. This is used by the client to determine how to display the message.

    - `type: optional "data"`

      The type of the message, in this case `data`.

      - `"data"`

  - `ToolRequestContent object { arguments, author, name, 3 more }`

    - `arguments: map[unknown]`

      The arguments to the tool.

    - `author: MessageAuthor`

      The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

    - `name: string`

      The name of the tool that is being requested.

    - `tool_call_id: string`

      The ID of the tool call that is being requested.

    - `style: optional MessageStyle`

      The style of the message. This is used by the client to determine how to display the message.

    - `type: optional "tool_request"`

      The type of the message, in this case `tool_request`.

      - `"tool_request"`

  - `ToolResponseContent object { author, content, name, 4 more }`

    - `author: MessageAuthor`

      The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

    - `content: unknown`

      The result of the tool.

    - `name: string`

      The name of the tool that is being responded to.

    - `tool_call_id: string`

      The ID of the tool call that is being responded to.

    - `is_error: optional boolean`

      Whether the tool call resulted in an error. `None` when the harness does not report a status.

    - `style: optional MessageStyle`

      The style of the message. This is used by the client to determine how to display the message.

    - `type: optional "tool_response"`

      The type of the message, in this case `tool_response`.

      - `"tool_response"`

- `created_at: optional string`

  The timestamp of the event

### Example

```http
curl http://localhost:5003/events \
    -H "Authorization: Bearer $AGENTEX_SDK_API_KEY"
```

#### Response

```json
[
  {
    "id": "id",
    "agent_id": "agent_id",
    "sequence_id": 0,
    "task_id": "task_id",
    "content": {
      "author": "user",
      "content": "content",
      "attachments": [
        {
          "file_id": "file_id",
          "name": "name",
          "size": 0,
          "type": "type"
        }
      ],
      "format": "markdown",
      "style": "static",
      "type": "text"
    },
    "created_at": "2019-12-27T18:11:19.117Z"
  }
]
```

## Domain Types

### Event

- `Event object { id, agent_id, sequence_id, 3 more }`

  - `id: string`

    The UUID of the event

  - `agent_id: string`

    The UUID of the agent that the event belongs to

  - `sequence_id: number`

    The sequence ID of the event

  - `task_id: string`

    The UUID of the task that the event belongs to

  - `content: optional TaskMessageContent`

    The content of the event

    - `TextContent object { author, content, attachments, 3 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

        - `"user"`

        - `"agent"`

      - `content: string`

        The contents of the text message.

      - `attachments: optional array of object { file_id, name, size, type }`

        Optional list of file attachments with structured metadata.

        - `file_id: string`

          The unique ID of the attached file

        - `name: string`

          The name of the file

        - `size: number`

          The size of the file in bytes

        - `type: string`

          The MIME type or content type of the file

      - `format: optional TextFormat`

        The format of the message. This is used by the client to determine how to display the message.

        - `"markdown"`

        - `"plain"`

        - `"code"`

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

        - `"static"`

        - `"active"`

      - `type: optional "text"`

        The type of the message, in this case `text`.

        - `"text"`

    - `ReasoningContent object { author, summary, content, 2 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `summary: array of string`

        A list of short reasoning summaries

      - `content: optional array of string`

        The reasoning content or chain-of-thought text

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "reasoning"`

        The type of the message, in this case `reasoning`.

        - `"reasoning"`

    - `DataContent object { author, data, style, type }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `data: map[unknown]`

        The contents of the data message.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "data"`

        The type of the message, in this case `data`.

        - `"data"`

    - `ToolRequestContent object { arguments, author, name, 3 more }`

      - `arguments: map[unknown]`

        The arguments to the tool.

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `name: string`

        The name of the tool that is being requested.

      - `tool_call_id: string`

        The ID of the tool call that is being requested.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_request"`

        The type of the message, in this case `tool_request`.

        - `"tool_request"`

    - `ToolResponseContent object { author, content, name, 4 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `content: unknown`

        The result of the tool.

      - `name: string`

        The name of the tool that is being responded to.

      - `tool_call_id: string`

        The ID of the tool call that is being responded to.

      - `is_error: optional boolean`

        Whether the tool call resulted in an error. `None` when the harness does not report a status.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_response"`

        The type of the message, in this case `tool_response`.

        - `"tool_response"`

  - `created_at: optional string`

    The timestamp of the event

### Event List Response

- `EventListResponse = array of Event`

  - `id: string`

    The UUID of the event

  - `agent_id: string`

    The UUID of the agent that the event belongs to

  - `sequence_id: number`

    The sequence ID of the event

  - `task_id: string`

    The UUID of the task that the event belongs to

  - `content: optional TaskMessageContent`

    The content of the event

    - `TextContent object { author, content, attachments, 3 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

        - `"user"`

        - `"agent"`

      - `content: string`

        The contents of the text message.

      - `attachments: optional array of object { file_id, name, size, type }`

        Optional list of file attachments with structured metadata.

        - `file_id: string`

          The unique ID of the attached file

        - `name: string`

          The name of the file

        - `size: number`

          The size of the file in bytes

        - `type: string`

          The MIME type or content type of the file

      - `format: optional TextFormat`

        The format of the message. This is used by the client to determine how to display the message.

        - `"markdown"`

        - `"plain"`

        - `"code"`

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

        - `"static"`

        - `"active"`

      - `type: optional "text"`

        The type of the message, in this case `text`.

        - `"text"`

    - `ReasoningContent object { author, summary, content, 2 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `summary: array of string`

        A list of short reasoning summaries

      - `content: optional array of string`

        The reasoning content or chain-of-thought text

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "reasoning"`

        The type of the message, in this case `reasoning`.

        - `"reasoning"`

    - `DataContent object { author, data, style, type }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `data: map[unknown]`

        The contents of the data message.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "data"`

        The type of the message, in this case `data`.

        - `"data"`

    - `ToolRequestContent object { arguments, author, name, 3 more }`

      - `arguments: map[unknown]`

        The arguments to the tool.

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `name: string`

        The name of the tool that is being requested.

      - `tool_call_id: string`

        The ID of the tool call that is being requested.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_request"`

        The type of the message, in this case `tool_request`.

        - `"tool_request"`

    - `ToolResponseContent object { author, content, name, 4 more }`

      - `author: MessageAuthor`

        The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`.

      - `content: unknown`

        The result of the tool.

      - `name: string`

        The name of the tool that is being responded to.

      - `tool_call_id: string`

        The ID of the tool call that is being responded to.

      - `is_error: optional boolean`

        Whether the tool call resulted in an error. `None` when the harness does not report a status.

      - `style: optional MessageStyle`

        The style of the message. This is used by the client to determine how to display the message.

      - `type: optional "tool_response"`

        The type of the message, in this case `tool_response`.

        - `"tool_response"`

  - `created_at: optional string`

    The timestamp of the event
