Skip to content

Create Message

messages.create(MessageCreateParams**kwargs) -> TaskMessage
POST/messages

Create Message

ParametersExpand Collapse
One of the following:
class TextContent: …

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

One of the following:
"user"
"agent"
content: str

The contents of the text message.

attachments: Optional[List[Attachment]]

Optional list of file attachments with structured metadata.

file_id: str

The unique ID of the attached file

name: str

The name of the file

size: int

The size of the file in bytes

type: str

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[Literal["text"]]

The type of the message, in this case text.

class ReasoningContent: …

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

One of the following:
"user"
"agent"
summary: List[str]

A list of short reasoning summaries

content: Optional[List[str]]

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[Literal["reasoning"]]

The type of the message, in this case reasoning.

class DataContent: …

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

One of the following:
"user"
"agent"
data: Dict[str, object]

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[Literal["data"]]

The type of the message, in this case data.

class ToolRequestContent: …
arguments: Dict[str, object]

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: str

The name of the tool that is being requested.

tool_call_id: str

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[Literal["tool_request"]]

The type of the message, in this case tool_request.

class ToolResponseContent: …

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

One of the following:
"user"
"agent"
content: object

The result of the tool.

name: str

The name of the tool that is being responded to.

tool_call_id: str

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

is_error: Optional[bool]

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[Literal["tool_response"]]

The type of the message, in this case tool_response.

task_id: str
created_at: Optional[Union[str, datetime, null]]

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[Literal["IN_PROGRESS", "DONE"]]
One of the following:
"IN_PROGRESS"
"DONE"
ReturnsExpand Collapse
class TaskMessage: …

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:
class TextContent: …

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

One of the following:
"user"
"agent"
content: str

The contents of the text message.

attachments: Optional[List[Attachment]]

Optional list of file attachments with structured metadata.

file_id: str

The unique ID of the attached file

name: str

The name of the file

size: int

The size of the file in bytes

type: str

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[Literal["text"]]

The type of the message, in this case text.

class ReasoningContent: …

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

One of the following:
"user"
"agent"
summary: List[str]

A list of short reasoning summaries

content: Optional[List[str]]

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[Literal["reasoning"]]

The type of the message, in this case reasoning.

class DataContent: …

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

One of the following:
"user"
"agent"
data: Dict[str, object]

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[Literal["data"]]

The type of the message, in this case data.

class ToolRequestContent: …
arguments: Dict[str, object]

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: str

The name of the tool that is being requested.

tool_call_id: str

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[Literal["tool_request"]]

The type of the message, in this case tool_request.

class ToolResponseContent: …

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

One of the following:
"user"
"agent"
content: object

The result of the tool.

name: str

The name of the tool that is being responded to.

tool_call_id: str

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

is_error: Optional[bool]

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[Literal["tool_response"]]

The type of the message, in this case tool_response.

task_id: str

ID of the task this message belongs to

id: Optional[str]

The task message’s unique id

created_at: Optional[datetime]

The timestamp when the message was created

formatdate-time
streaming_status: Optional[Literal["IN_PROGRESS", "DONE"]]
One of the following:
"IN_PROGRESS"
"DONE"
updated_at: Optional[datetime]

The timestamp when the message was last updated

formatdate-time

Create Message

import os
from agentex import Agentex

client = Agentex(
    api_key=os.environ.get("AGENTEX_SDK_API_KEY"),  # This is the default and can be omitted
)
task_message = client.messages.create(
    content={
        "author": "user",
        "content": "content",
        "type": "text",
    },
    task_id="task_id",
)
print(task_message.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"
}