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

# Send message

> Send a message to an existing thread.



## OpenAPI

````yaml POST /v1/threads/{threadId}/message
openapi: 3.1.0
info:
  title: Capy API
  version: 1.0.0
servers:
  - url: https://capy.ai/api
security:
  - bearerAuth: []
tags:
  - name: threads
  - name: sessions
  - name: tasks
  - name: projects
  - name: tags
  - name: models
  - name: usage
  - name: setup
  - name: snapshots
  - name: browser-snapshots
  - name: environment-variables
  - name: automations
paths:
  /v1/threads/{threadId}/message:
    post:
      tags:
        - threads
      summary: Send thread message
      description: Send a message to an existing thread.
      operationId: sendThreadMessage
      parameters:
        - name: threadId
          in: path
          required: true
          description: Thread jam ID.
          schema:
            type: string
          example: jam_123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendThreadMessageBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendMessageResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    SendThreadMessageBody:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        impersonateUserEmail:
          type: string
          format: email
          pattern: >-
            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
        message:
          type: string
          minLength: 1
        model:
          type: string
          enum:
            - claude-opus-4-8
            - claude-opus-4-7
            - claude-opus-4-6
            - claude-opus-4-5
            - claude-sonnet-4-6
            - claude-haiku-4-5
            - gpt-5.5
            - gpt-5.5-pro
            - gpt-5.4
            - gpt-5.4-mini
            - gpt-5.3-codex
            - gpt-5.3-codex-spark
            - gemini-3.1-pro-preview
            - gemini-3-flash-preview
            - grok-4-1-fast
            - glm-5.2
            - glm-5.1
            - glm-5v-turbo
            - glm-5
            - deepseek-v4-pro
            - glm-5-turbo
            - glm-4.7
            - kimi-k2.7-code
            - kimi-k2.6
            - qwen3-coder
            - claude-fable-5
        speed:
          type: string
          enum:
            - fast
            - standard
        reasoning:
          type: object
          properties:
            mode:
              type: string
              enum:
                - 'off'
                - 'on'
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
                - max
          required:
            - mode
          additionalProperties: false
        buildModel:
          type: string
          enum:
            - claude-opus-4-8
            - claude-opus-4-7
            - claude-opus-4-6
            - claude-opus-4-5
            - claude-sonnet-4-6
            - claude-haiku-4-5
            - gpt-5.5
            - gpt-5.5-pro
            - gpt-5.4
            - gpt-5.4-mini
            - gpt-5.3-codex
            - gpt-5.3-codex-spark
            - gemini-3.1-pro-preview
            - gemini-3-flash-preview
            - grok-4-1-fast
            - glm-5.2
            - glm-5.1
            - glm-5v-turbo
            - glm-5
            - deepseek-v4-pro
            - glm-5-turbo
            - glm-4.7
            - kimi-k2.7-code
            - kimi-k2.6
            - qwen3-coder
            - claude-fable-5
        buildSpeed:
          type: string
          enum:
            - fast
            - standard
        buildReasoning:
          type: object
          properties:
            mode:
              type: string
              enum:
                - 'off'
                - 'on'
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
                - max
          required:
            - mode
          additionalProperties: false
        browserSnapshotIds:
          type: array
          items:
            type: string
        attachmentUrls:
          type: array
          items:
            type: string
            format: uri
      required:
        - message
      additionalProperties: false
    SendMessageResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          const: sent
      required:
        - id
        - status
      additionalProperties: false
    ErrorResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details: {}
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
      additionalProperties: false
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API token (capy_xxxx). Generate at capy.ai/settings/tokens

````