> ## 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.

# Export Task

> Build a self-contained snapshot of a task's content surfaces.

Returns the exact payload format that POST /rehydrate accepts, so
export → clean → rehydrate is a round-trip-equivalent operation.



## OpenAPI

````yaml https://agentex.dev-sgp.scale.com/openapi.json get /tasks/{task_id}/export
openapi: 3.1.0
info:
  title: Agentex API
  version: 0.1.0
servers: []
security: []
paths:
  /tasks/{task_id}/export:
    get:
      tags:
        - task-retention
      summary: Export Task
      description: |-
        Build a self-contained snapshot of a task's content surfaces.

        Returns the exact payload format that POST /rehydrate accepts, so
        export → clean → rehydrate is a round-trip-equivalent operation.
      operationId: export_task_tasks__task_id__export_get
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportTaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ExportTaskResponse:
      properties:
        task_id:
          type: string
          title: Task Id
        messages:
          items:
            $ref: '#/components/schemas/TaskMessageEntity'
          type: array
          title: Messages
        task_states:
          items:
            $ref: '#/components/schemas/StateEntity'
          type: array
          title: Task States
      type: object
      required:
        - task_id
      title: ExportTaskResponse
      description: Wire format mirrors the entity directly — schema parity is intentional.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TaskMessageEntity:
      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:
          oneOf:
            - $ref: '#/components/schemas/TextContentEntity'
            - $ref: '#/components/schemas/DataContentEntity'
            - $ref: '#/components/schemas/ToolRequestContentEntity'
            - $ref: '#/components/schemas/ToolResponseContentEntity'
            - $ref: '#/components/schemas/ReasoningContentEntity'
          title: Content
          description: >-
            The content of the message. This content is not OpenAI compatible.
            These are messages that are meant to be displayed to the user.
          discriminator:
            propertyName: type
            mapping:
              data:
                $ref: '#/components/schemas/DataContentEntity'
              reasoning:
                $ref: '#/components/schemas/ReasoningContentEntity'
              text:
                $ref: '#/components/schemas/TextContentEntity'
              tool_request:
                $ref: '#/components/schemas/ToolRequestContentEntity'
              tool_response:
                $ref: '#/components/schemas/ToolResponseContentEntity'
        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: TaskMessageEntity
      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.
    StateEntity:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: The task state's unique id
        task_id:
          type: string
          title: Task Id
          description: >-
            ID of the task this state belongs to. The combination of task_id and
            agent_id is globally unique.
        agent_id:
          type: string
          title: Agent Id
          description: >-
            ID of the agent this state belongs to. The combination of task_id
            and agent_id is globally unique.
        state:
          additionalProperties: true
          type: object
          title: State
          description: The state object that contains arbitrary data
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: The timestamp when the state was created
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: The timestamp when the state was last updated
      type: object
      required:
        - task_id
        - agent_id
        - state
      title: StateEntity
      description: >-
        Represents a state in the agent system. A state is associated uniquely
        with a task and an agent.


        This entity is used to store states in MongoDB, with each state

        associated with a specific task and agent. The combination of task_id
        and agent_id is globally unique.


        The state is a dictionary of arbitrary data.
    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
    TextContentEntity:
      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/FileAttachmentEntity'
              type: array
            - type: 'null'
          title: Attachments
          description: Optional list of file attachments with structured metadata.
      type: object
      required:
        - author
        - content
      title: TextContentEntity
    DataContentEntity:
      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: DataContentEntity
    ToolRequestContentEntity:
      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: ToolRequestContentEntity
    ToolResponseContentEntity:
      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: ToolResponseContentEntity
    ReasoningContentEntity:
      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: ReasoningContentEntity
    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
    FileAttachmentEntity:
      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: FileAttachmentEntity
      description: Represents a file attachment in messages.

````