> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gp.scale.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Message



## OpenAPI

````yaml https://agentex.dev-sgp.scale.com/openapi.json post /messages
openapi: 3.1.0
info:
  title: Agentex API
  version: 0.1.0
servers: []
security: []
paths:
  /messages:
    post:
      tags:
        - Messages
      summary: Create Message
      operationId: create_message_messages_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTaskMessageRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskMessage'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    CreateTaskMessageRequest:
      properties:
        task_id:
          type: string
          title: The unique id of the task to send the message to
        content:
          $ref: '#/components/schemas/TaskMessageContent'
          title: The message to send to the task.
        streaming_status:
          anyOf:
            - type: string
              enum:
                - IN_PROGRESS
                - DONE
            - type: 'null'
          title: The streaming status of the message
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Optional caller-supplied creation timestamp
          description: >-
            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.
      type: object
      required:
        - task_id
        - content
      title: CreateTaskMessageRequest
    TaskMessage:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: The task message's unique id
        task_id:
          type: string
          title: Task Id
          description: ID of the task this message belongs to
        content:
          $ref: '#/components/schemas/TaskMessageContent'
          description: >-
            The content of the message. This content is not OpenAI compatible.
            These are messages that are meant to be displayed to the user.
        streaming_status:
          anyOf:
            - type: string
              enum:
                - IN_PROGRESS
                - DONE
            - type: 'null'
          title: >-
            In case of streaming, this indicates whether the message is still
            being streamed or has been completed
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: The timestamp when the message was created
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: The timestamp when the message was last updated
      type: object
      required:
        - task_id
        - content
      title: TaskMessage
      description: |-
        Represents a message in the agent system.

        This entity is used to store messages in MongoDB, with each message
        associated with a specific task.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TaskMessageContent:
      oneOf:
        - $ref: '#/components/schemas/TextContent'
        - $ref: '#/components/schemas/ReasoningContent'
        - $ref: '#/components/schemas/DataContent'
        - $ref: '#/components/schemas/ToolRequestContent'
        - $ref: '#/components/schemas/ToolResponseContent'
      title: TaskMessageContent
      discriminator:
        propertyName: type
        mapping:
          data:
            $ref: '#/components/schemas/DataContent'
          reasoning:
            $ref: '#/components/schemas/ReasoningContent'
          text:
            $ref: '#/components/schemas/TextContent'
          tool_request:
            $ref: '#/components/schemas/ToolRequestContent'
          tool_response:
            $ref: '#/components/schemas/ToolResponseContent'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TextContent:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: The type of the message, in this case `text`.
          default: text
        author:
          $ref: '#/components/schemas/MessageAuthor'
          description: >-
            The role of the messages author, in this case `system`, `user`,
            `assistant`, or `tool`.
        style:
          $ref: '#/components/schemas/MessageStyle'
          description: >-
            The style of the message. This is used by the client to determine
            how to display the message.
          default: static
        format:
          $ref: '#/components/schemas/TextFormat'
          description: >-
            The format of the message. This is used by the client to determine
            how to display the message.
          default: plain
        content:
          type: string
          title: Content
          description: The contents of the text message.
        attachments:
          anyOf:
            - items:
                $ref: '#/components/schemas/FileAttachment'
              type: array
            - type: 'null'
          title: Attachments
          description: Optional list of file attachments with structured metadata.
      type: object
      required:
        - author
        - content
      title: TextContent
    ReasoningContent:
      properties:
        type:
          type: string
          const: reasoning
          title: Type
          description: The type of the message, in this case `reasoning`.
          default: reasoning
        author:
          $ref: '#/components/schemas/MessageAuthor'
          description: >-
            The role of the messages author, in this case `system`, `user`,
            `assistant`, or `tool`.
        style:
          $ref: '#/components/schemas/MessageStyle'
          description: >-
            The style of the message. This is used by the client to determine
            how to display the message.
          default: static
        summary:
          items:
            type: string
          type: array
          title: Summary
          description: A list of short reasoning summaries
        content:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Content
          description: The reasoning content or chain-of-thought text
      type: object
      required:
        - author
        - summary
      title: ReasoningContent
    DataContent:
      properties:
        type:
          type: string
          const: data
          title: Type
          description: The type of the message, in this case `data`.
          default: data
        author:
          $ref: '#/components/schemas/MessageAuthor'
          description: >-
            The role of the messages author, in this case `system`, `user`,
            `assistant`, or `tool`.
        style:
          $ref: '#/components/schemas/MessageStyle'
          description: >-
            The style of the message. This is used by the client to determine
            how to display the message.
          default: static
        data:
          additionalProperties: true
          type: object
          title: Data
          description: The contents of the data message.
      type: object
      required:
        - author
        - data
      title: DataContent
    ToolRequestContent:
      properties:
        type:
          type: string
          const: tool_request
          title: Type
          description: The type of the message, in this case `tool_request`.
          default: tool_request
        author:
          $ref: '#/components/schemas/MessageAuthor'
          description: >-
            The role of the messages author, in this case `system`, `user`,
            `assistant`, or `tool`.
        style:
          $ref: '#/components/schemas/MessageStyle'
          description: >-
            The style of the message. This is used by the client to determine
            how to display the message.
          default: static
        tool_call_id:
          type: string
          title: Tool Call Id
          description: The ID of the tool call that is being requested.
        name:
          type: string
          title: Name
          description: The name of the tool that is being requested.
        arguments:
          additionalProperties: true
          type: object
          title: Arguments
          description: The arguments to the tool.
      type: object
      required:
        - author
        - tool_call_id
        - name
        - arguments
      title: ToolRequestContent
    ToolResponseContent:
      properties:
        type:
          type: string
          const: tool_response
          title: Type
          description: The type of the message, in this case `tool_response`.
          default: tool_response
        author:
          $ref: '#/components/schemas/MessageAuthor'
          description: >-
            The role of the messages author, in this case `system`, `user`,
            `assistant`, or `tool`.
        style:
          $ref: '#/components/schemas/MessageStyle'
          description: >-
            The style of the message. This is used by the client to determine
            how to display the message.
          default: static
        tool_call_id:
          type: string
          title: Tool Call Id
          description: The ID of the tool call that is being responded to.
        name:
          type: string
          title: Name
          description: The name of the tool that is being responded to.
        content:
          title: Content
          description: The result of the tool.
        is_error:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Error
          description: >-
            Whether the tool call resulted in an error. `None` when the harness
            does not report a status.
      type: object
      required:
        - author
        - tool_call_id
        - name
        - content
      title: ToolResponseContent
    MessageAuthor:
      type: string
      enum:
        - user
        - agent
      title: MessageAuthor
    MessageStyle:
      type: string
      enum:
        - static
        - active
      title: MessageStyle
    TextFormat:
      type: string
      enum:
        - markdown
        - plain
        - code
      title: TextFormat
    FileAttachment:
      properties:
        file_id:
          type: string
          title: File Id
          description: The unique ID of the attached file
        name:
          type: string
          title: Name
          description: The name of the file
        size:
          type: integer
          title: Size
          description: The size of the file in bytes
        type:
          type: string
          title: Type
          description: The MIME type or content type of the file
      type: object
      required:
        - file_id
        - name
        - size
        - type
      title: FileAttachment
      description: Represents a file attachment in messages.

````