Skip to content

List Messages

GET/messages

List messages for a task with offset-based pagination.

For cursor-based pagination with infinite scroll support, use /messages/paginated.

Query ParametersExpand Collapse
task_id: string

The task ID

filters: optional string

JSON-encoded array of TaskMessageEntityFilter objects.

Schema: { “$defs”: { “DataContentEntityOptional”: { “properties”: { “type”: { “anyOf”: [ { “const”: “data”, “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The type of the message, in this case data.”, “title”: “Type” }, “author”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageAuthor” }, { “type”: “null” } ], “default”: null, “description”: “The role of the messages author, in this case system, user, assistant, or tool.” }, “style”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageStyle” }, { “type”: “null” } ], “default”: null, “description”: “The style of the message. This is used by the client to determine how to display the message.” }, “data”: { “anyOf”: [ { “additionalProperties”: true, “type”: “object” }, { “type”: “null” } ], “default”: null, “description”: “The contents of the data message.”, “title”: “Data” } }, “title”: “DataContentEntityOptional”, “type”: “object” }, “FileAttachmentEntity”: { “description”: “Represents a file attachment in messages.”, “properties”: { “file_id”: { “description”: “The unique ID of the attached file”, “title”: “File Id”, “type”: “string” }, “name”: { “description”: “The name of the file”, “title”: “Name”, “type”: “string” }, “size”: { “description”: “The size of the file in bytes”, “title”: “Size”, “type”: “integer” }, “type”: { “description”: “The MIME type or content type of the file”, “title”: “Type”, “type”: “string” } }, “required”: [ “file_id”, “name”, “size”, “type” ], “title”: “FileAttachmentEntity”, “type”: “object” }, “MessageAuthor”: { “enum”: [ “user”, “agent” ], “title”: “MessageAuthor”, “type”: “string” }, “MessageStyle”: { “enum”: [ “static”, “active” ], “title”: “MessageStyle”, “type”: “string” }, “ReasoningContentEntityOptional”: { “properties”: { “type”: { “anyOf”: [ { “const”: “reasoning”, “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The type of the message, in this case reasoning.”, “title”: “Type” }, “author”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageAuthor” }, { “type”: “null” } ], “default”: null, “description”: “The role of the messages author, in this case system, user, assistant, or tool.” }, “style”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageStyle” }, { “type”: “null” } ], “default”: null, “description”: “The style of the message. This is used by the client to determine how to display the message.” }, “summary”: { “anyOf”: [ { “items”: { “type”: “string” }, “type”: “array” }, { “type”: “null” } ], “default”: null, “description”: “A list of short reasoning summaries”, “title”: “Summary” }, “content”: { “anyOf”: [ { “items”: { “type”: “string” }, “type”: “array” }, { “type”: “null” } ], “default”: null, “description”: “The reasoning content or chain-of-thought text”, “title”: “Content” } }, “title”: “ReasoningContentEntityOptional”, “type”: “object” }, “TextContentEntityOptional”: { “properties”: { “type”: { “anyOf”: [ { “const”: “text”, “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The type of the message, in this case text.”, “title”: “Type” }, “author”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageAuthor” }, { “type”: “null” } ], “default”: null, “description”: “The role of the messages author, in this case system, user, assistant, or tool.” }, “style”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageStyle” }, { “type”: “null” } ], “default”: null, “description”: “The style of the message. This is used by the client to determine how to display the message.” }, “format”: { “anyOf”: [ { “$ref”: ”#/$defs/TextFormat” }, { “type”: “null” } ], “default”: null, “description”: “The format of the message. This is used by the client to determine how to display the message.” }, “content”: { “anyOf”: [ { “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The contents of the text message.”, “title”: “Content” }, “attachments”: { “anyOf”: [ { “items”: { “$ref”: ”#/$defs/FileAttachmentEntity” }, “type”: “array” }, { “type”: “null” } ], “default”: null, “description”: “Optional list of file attachments with structured metadata.”, “title”: “Attachments” } }, “title”: “TextContentEntityOptional”, “type”: “object” }, “TextFormat”: { “enum”: [ “markdown”, “plain”, “code” ], “title”: “TextFormat”, “type”: “string” }, “ToolRequestContentEntityOptional”: { “properties”: { “type”: { “anyOf”: [ { “const”: “tool_request”, “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The type of the message, in this case tool_request.”, “title”: “Type” }, “author”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageAuthor” }, { “type”: “null” } ], “default”: null, “description”: “The role of the messages author, in this case system, user, assistant, or tool.” }, “style”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageStyle” }, { “type”: “null” } ], “default”: null, “description”: “The style of the message. This is used by the client to determine how to display the message.” }, “tool_call_id”: { “anyOf”: [ { “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The ID of the tool call that is being requested.”, “title”: “Tool Call Id” }, “name”: { “anyOf”: [ { “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The name of the tool that is being requested.”, “title”: “Name” }, “arguments”: { “anyOf”: [ { “additionalProperties”: true, “type”: “object” }, { “type”: “null” } ], “default”: null, “description”: “The arguments to the tool.”, “title”: “Arguments” } }, “title”: “ToolRequestContentEntityOptional”, “type”: “object” }, “ToolResponseContentEntityOptional”: { “properties”: { “type”: { “anyOf”: [ { “const”: “tool_response”, “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The type of the message, in this case tool_response.”, “title”: “Type” }, “author”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageAuthor” }, { “type”: “null” } ], “default”: null, “description”: “The role of the messages author, in this case system, user, assistant, or tool.” }, “style”: { “anyOf”: [ { “$ref”: ”#/$defs/MessageStyle” }, { “type”: “null” } ], “default”: null, “description”: “The style of the message. This is used by the client to determine how to display the message.” }, “tool_call_id”: { “anyOf”: [ { “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The ID of the tool call that is being responded to.”, “title”: “Tool Call Id” }, “name”: { “anyOf”: [ { “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “The name of the tool that is being responded to.”, “title”: “Name” }, “content”: { “anyOf”: [ {}, { “type”: “null” } ], “default”: null, “description”: “The result of the tool.”, “title”: “Content” }, “is_error”: { “anyOf”: [ { “type”: “boolean” }, { “type”: “null” } ], “default”: null, “description”: “Whether the tool call resulted in an error. None when the harness does not report a status.”, “title”: “Is Error” } }, “title”: “ToolResponseContentEntityOptional”, “type”: “object” } }, “description”: “Filter model for TaskMessage - all fields optional for flexible filtering.\n\nThe exclude field determines whether this filter is inclusionary or exclusionary.\nWhen multiple filters are provided:\n- Inclusionary filters (exclude=False) are OR’d together\n- Exclusionary filters (exclude=True) are OR’d together and negated with $nor\n- The two groups are AND’d: (include1 OR include2) AND NOT (exclude1 OR exclude2)”, “properties”: { “content”: { “anyOf”: [ { “$ref”: ”#/$defs/ToolRequestContentEntityOptional” }, { “$ref”: ”#/$defs/DataContentEntityOptional” }, { “$ref”: ”#/$defs/TextContentEntityOptional” }, { “$ref”: ”#/$defs/ToolResponseContentEntityOptional” }, { “$ref”: ”#/$defs/ReasoningContentEntityOptional” }, { “type”: “null” } ], “default”: null, “description”: “Filter by message content”, “title”: “Content” }, “streaming_status”: { “anyOf”: [ { “enum”: [ “IN_PROGRESS”, “DONE” ], “type”: “string” }, { “type”: “null” } ], “default”: null, “description”: “Filter by streaming status”, “title”: “Streaming Status” }, “exclude”: { “default”: false, “description”: “If true, this filter excludes matching messages”, “title”: “Exclude”, “type”: “boolean” } }, “title”: “TaskMessageEntityFilter”, “type”: “object” }

Each filter can include:

  • content: Filter by message content (type, author, data fields)
  • streaming_status: Filter by status (“IN_PROGRESS” or “DONE”)
  • exclude: If true, excludes matching messages (default: false)

Multiple filters are combined: inclusionary filters (exclude=false) are OR’d together, exclusionary filters (exclude=true) are OR’d and negated, then both groups are AND’d.

limit: optional number
order_by: optional string
order_direction: optional string
page_number: optional number
ReturnsExpand Collapse

The content of the message. This content is not OpenAI compatible. These are messages that are meant to be displayed to the user.

One of the following:
TextContent object { author, content, attachments, 3 more }

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

One of the following:
"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.

One of the following:
"markdown"
"plain"
"code"
style: optional MessageStyle

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

One of the following:
"static"
"active"
type: optional "text"

The type of the message, in this case text.

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

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

One of the following:
"user"
"agent"
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.

One of the following:
"static"
"active"
type: optional "reasoning"

The type of the message, in this case reasoning.

DataContent object { author, data, style, type }

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

One of the following:
"user"
"agent"
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.

One of the following:
"static"
"active"
type: optional "data"

The type of the message, in this case data.

ToolRequestContent object { arguments, author, name, 3 more }
arguments: map[unknown]

The arguments to the tool.

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

One of the following:
"user"
"agent"
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.

One of the following:
"static"
"active"
type: optional "tool_request"

The type of the message, in this case tool_request.

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

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

One of the following:
"user"
"agent"
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.

One of the following:
"static"
"active"
type: optional "tool_response"

The type of the message, in this case tool_response.

task_id: string

ID of the task this message belongs to

id: optional string

The task message’s unique id

created_at: optional string

The timestamp when the message was created

formatdate-time
streaming_status: optional "IN_PROGRESS" or "DONE"
One of the following:
"IN_PROGRESS"
"DONE"
updated_at: optional string

The timestamp when the message was last updated

formatdate-time

List Messages

curl http://localhost:5003/messages \
    -H "Authorization: Bearer $AGENTEX_SDK_API_KEY"
[
  {
    "content": {
      "author": "user",
      "content": "content",
      "attachments": [
        {
          "file_id": "file_id",
          "name": "name",
          "size": 0,
          "type": "type"
        }
      ],
      "format": "markdown",
      "style": "static",
      "type": "text"
    },
    "task_id": "task_id",
    "id": "id",
    "created_at": "2019-12-27T18:11:19.117Z",
    "streaming_status": "IN_PROGRESS",
    "updated_at": "2019-12-27T18:11:19.117Z"
  }
]
Returns Examples
[
  {
    "content": {
      "author": "user",
      "content": "content",
      "attachments": [
        {
          "file_id": "file_id",
          "name": "name",
          "size": 0,
          "type": "type"
        }
      ],
      "format": "markdown",
      "style": "static",
      "type": "text"
    },
    "task_id": "task_id",
    "id": "id",
    "created_at": "2019-12-27T18:11:19.117Z",
    "streaming_status": "IN_PROGRESS",
    "updated_at": "2019-12-27T18:11:19.117Z"
  }
]