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

# Get session messages

> Returns paginated message history with optional role filtering. This feature is enabled for selected organizations only.



## OpenAPI

````yaml https://api.factory.ai/api/v0/openapi.json get /api/v0/sessions/{sessionId}/messages
openapi: 3.0.1
info:
  title: Factory Public API
  description: >-
    Public API for Factory platform. Requires authentication via the
    `Authorization: Bearer` header.
  version: 0.1.0
servers:
  - url: https://api.factory.ai/
    description: Production
security:
  - BearerAuth: []
paths:
  /api/v0/sessions/{sessionId}/messages:
    get:
      tags:
        - Sessions
      summary: Get session messages
      description: >-
        Returns paginated message history with optional role filtering. This
        feature is enabled for selected organizations only.
      operationId: getMessages
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: string
            default: '20'
            description: Maximum number of items to return (1-100)
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            description: Cursor for pagination
        - name: computerId
          in: query
          required: false
          schema:
            type: string
            description: Computer ID to query directly
        - name: role
          in: query
          required: false
          schema:
            type: string
            enum:
              - user
              - assistant
              - tool
            description: Filter messages by role
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages200ResponseBody'
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages400ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages401ResponseBody'
        '403':
          description: Response for status 403
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages403ResponseBody'
        '404':
          description: Response for status 404
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages404ResponseBody'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMessages500ResponseBody'
components:
  schemas:
    GetMessages200ResponseBody:
      type: object
      properties:
        messages:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              role:
                type: string
                enum:
                  - user
                  - assistant
                  - tool
                  - system
              content:
                type: array
                items:
                  anyOf:
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - text
                        text:
                          type: string
                      required:
                        - type
                        - text
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - image
                        source:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - base64
                            data:
                              type: string
                            mediaType:
                              type: string
                              enum:
                                - image/jpeg
                                - image/png
                                - image/gif
                                - image/webp
                          required:
                            - type
                            - data
                            - mediaType
                          additionalProperties: false
                      required:
                        - type
                        - source
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - thinking
                        signature:
                          type: string
                        signatureProvider:
                          anyOf:
                            - type: string
                              enum:
                                - anthropic
                                - openai
                                - generic-chat-completion-api
                                - factory
                                - google
                                - xai
                                - voyage
                            - type: string
                              enum:
                                - unknown
                        thinking:
                          type: string
                        durationMs:
                          type: number
                          minimum: 0
                      required:
                        - type
                        - signature
                        - thinking
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - redacted_thinking
                        data:
                          type: string
                      required:
                        - type
                        - data
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - tool_use
                        id:
                          type: string
                        input:
                          type: object
                          additionalProperties: {}
                        name:
                          type: string
                        thoughtSignature:
                          type: string
                      required:
                        - type
                        - id
                        - input
                        - name
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - tool_result
                        toolUseId:
                          type: string
                        content:
                          anyOf:
                            - type: string
                            - type: array
                              items:
                                anyOf:
                                  - type: object
                                    properties:
                                      id:
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                          - text
                                      text:
                                        type: string
                                    required:
                                      - type
                                      - text
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      id:
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                          - image
                                      source:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - base64
                                          data:
                                            type: string
                                          mediaType:
                                            type: string
                                            enum:
                                              - image/jpeg
                                              - image/png
                                              - image/gif
                                              - image/webp
                                        required:
                                          - type
                                          - data
                                          - mediaType
                                        additionalProperties: false
                                    required:
                                      - type
                                      - source
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      id:
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                          - document
                                      source:
                                        anyOf:
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - base64
                                              mediaType:
                                                type: string
                                                enum:
                                                  - application/pdf
                                              data:
                                                type: string
                                              parsedData:
                                                type: string
                                              name:
                                                type: string
                                              path:
                                                type: string
                                            required:
                                              - type
                                              - mediaType
                                              - data
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - text
                                              mediaType:
                                                type: string
                                                enum:
                                                  - text/plain
                                              data:
                                                type: string
                                              name:
                                                type: string
                                              mime:
                                                type: string
                                            required:
                                              - type
                                              - mediaType
                                              - data
                                            additionalProperties: false
                                    required:
                                      - type
                                      - source
                                    additionalProperties: false
                        isError:
                          type: boolean
                      required:
                        - type
                        - toolUseId
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - document
                        source:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - base64
                                mediaType:
                                  type: string
                                  enum:
                                    - application/pdf
                                data:
                                  type: string
                                parsedData:
                                  type: string
                                name:
                                  type: string
                                path:
                                  type: string
                              required:
                                - type
                                - mediaType
                                - data
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - text
                                mediaType:
                                  type: string
                                  enum:
                                    - text/plain
                                data:
                                  type: string
                                name:
                                  type: string
                                mime:
                                  type: string
                              required:
                                - type
                                - mediaType
                                - data
                              additionalProperties: false
                      required:
                        - type
                        - source
                      additionalProperties: false
              createdAt:
                type: number
              updatedAt:
                type: number
              parentId:
                type: string
              visibility:
                type: string
                enum:
                  - both
                  - llm_only
                  - user_only
              openaiMessageId:
                type: string
              openaiPhase:
                type: string
                enum:
                  - commentary
                  - final_answer
                nullable: true
              openaiEncryptedContent:
                type: string
              openaiReasoningId:
                type: string
              openaiReasoningSummary:
                type: string
              geminiThoughtSignature:
                type: string
              chatCompletionReasoningField:
                type: string
                enum:
                  - reasoning
                  - reasoning_content
              chatCompletionReasoningContent:
                type: string
              isUserVisible:
                type: boolean
              isError:
                type: boolean
            required:
              - id
              - role
              - content
              - createdAt
              - updatedAt
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
              description: Whether there are more items after this page
            nextCursor:
              type: string
              nullable: true
              description: Cursor to use for the next page, null if no more pages
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - messages
        - pagination
      additionalProperties: false
    GetMessages400ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    GetMessages401ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    GetMessages403ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    GetMessages404ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    GetMessages500ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Factory API key or JWT token for authentication

````