Skip to content

Create Message

POST/messages

Create Message

Body ParametersJSONExpand Collapse
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
created_at: optional string

Optional timestamp for the message. Workflow callers should pass workflow.now() (Temporal’s deterministic monotonic clock) so that two awaited messages.create calls from the same workflow are guaranteed to have monotonic timestamps regardless of HTTP scheduling at the server. If omitted, the server’s wall clock at insert time is used.

formatdate-time
streaming_status: optional "IN_PROGRESS" or "DONE"
One of the following:
"IN_PROGRESS"
"DONE"
ReturnsExpand Collapse
TaskMessage object { content, task_id, id, 3 more }

Represents a message in the agent system.

This entity is used to store messages in MongoDB, with each message associated with a specific task.

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

Create Message

curl http://localhost:5003/messages \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $AGENTEX_SDK_API_KEY" \
    -d '{
          "content": {
            "author": "user",
            "content": "content",
            "type": "text"
          },
          "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"
  },
  "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"
}