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

# Send a message in an existing conversation

> Send an immediate social message, email reply, or email forward using the existing inbox send behavior. Email forwards return the newly created forwarded conversation.

<table width="100%">
  <thead>
    <tr>
      <th>Token cost</th>
      <th>Rate limit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>40 tokens</td>
      <td>120 requests/min per route/org</td>
    </tr>
  </tbody>
</table>



## OpenAPI

````yaml /api/openapi.json post /conversations/{conversationId}/messages
openapi: 3.1.0
info:
  title: Breakcold Public API
  version: 1.0.0
  description: >-
    Contract-first public API for Breakcold records, tasks, notes, inbox, and
    MCP tools.
servers:
  - url: https://rest.breakcold.com/api/v1
    description: Universal endpoint (routes to your region automatically)
security: []
tags:
  - name: Workspaces
  - name: CRM
  - name: Records
  - name: Tasks
  - name: Notes
  - name: Inbox
  - name: Meetings
  - name: Webhooks
paths:
  /conversations/{conversationId}/messages:
    post:
      tags:
        - Inbox
      summary: Send a message in an existing conversation
      description: >-
        Send an immediate social message, email reply, or email forward using
        the existing inbox send behavior. Email forwards return the newly
        created forwarded conversation.


        <table width="100%">
          <thead>
            <tr>
              <th>Token cost</th>
              <th>Rate limit</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>40 tokens</td>
              <td>120 requests/min per route/org</td>
            </tr>
          </tbody>
        </table>
      operationId: sendInboxMessage
      parameters:
        - name: X-Breakcold-Organization-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            Breakcold organization ID. API keys already carry their
            organization, so most API-key requests do not need this header. Use
            it only when Breakcold asks you to choose an organization for a
            signed-in user token.
        - name: conversationId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                clientMessageId:
                  type: string
                textPlain:
                  type: string
                textHtml:
                  type: string
                replyToMessageId:
                  type: string
                attachments:
                  type: array
                  items:
                    type: object
                    properties:
                      storageId:
                        type: string
                        minLength: 6
                      filename:
                        type: string
                      mimeType:
                        type: string
                    required:
                      - storageId
                      - filename
                      - mimeType
                email:
                  type: object
                  properties:
                    mode:
                      type: string
                      enum:
                        - reply
                        - forward
                    to:
                      type: array
                      items:
                        type: object
                        properties:
                          email:
                            type: string
                          name:
                            type: string
                        required:
                          - email
                    cc:
                      type: array
                      items:
                        type: object
                        properties:
                          email:
                            type: string
                          name:
                            type: string
                        required:
                          - email
                    bcc:
                      type: array
                      items:
                        type: object
                        properties:
                          email:
                            type: string
                          name:
                            type: string
                        required:
                          - email
                    subject:
                      type: string
                    forwardMessageId:
                      type: string
                      minLength: 6
                    existingAttachments:
                      type: array
                      items:
                        type: object
                        properties:
                          storageId:
                            type: string
                            minLength: 6
                          filename:
                            type: string
                          mimeType:
                            type: string
                        required:
                          - storageId
                          - filename
                          - mimeType
                    trackingOptions:
                      type: object
                      properties:
                        trackOpens:
                          type: boolean
                        trackLinks:
                          type: boolean
                      required:
                        - trackOpens
                        - trackLinks
                  required:
                    - mode
                    - to
              required:
                - textPlain
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  conversation:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 6
                      workspaceId:
                        type: string
                        minLength: 6
                      channel:
                        type: string
                        enum:
                          - email
                          - linkedin
                          - telegram
                          - whatsapp
                      subject:
                        type: string
                      lifecycle:
                        type: string
                      mailbox:
                        type: string
                      lastMessageAtMs:
                        type: number
                        description: Unix timestamp in ms.
                      lastMessageSnippet:
                        type: string
                      isClosed:
                        type: boolean
                      hasAttachments:
                        type: boolean
                      hasLinkedRecords:
                        type: boolean
                      attendees:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 6
                            displayName:
                              type: string
                            handle:
                              type: string
                            email:
                              type: string
                            isSender:
                              type: boolean
                            isWorkspaceMember:
                              type: boolean
                          required:
                            - id
                      assignees:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 6
                            name:
                              type: string
                            email:
                              type: string
                          required:
                            - id
                    required:
                      - id
                      - workspaceId
                      - channel
                      - lastMessageAtMs
                      - isClosed
                  message:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 6
                      workspaceId:
                        type: string
                        minLength: 6
                      conversationId:
                        type: string
                        minLength: 6
                      channel:
                        type: string
                        enum:
                          - email
                          - linkedin
                          - telegram
                          - whatsapp
                      direction:
                        type: string
                        enum:
                          - inbound
                          - outbound
                          - system
                      textPlain:
                        type: string
                      textHtml:
                        type: string
                      subject:
                        type: string
                      sentAtMs:
                        type: number
                        description: Unix timestamp in ms.
                      receivedAtMs:
                        type: number
                        description: Unix timestamp in ms.
                      attachmentCount:
                        type: number
                    required:
                      - id
                      - workspaceId
                      - conversationId
                      - direction
                      - sentAtMs
                  providerMessageId:
                    type: string
                required:
                  - conversation
                  - message
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - ApiKeyBearer:
            - inbox:send
        - BreakcoldOAuth:
            - inbox:send
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    Forbidden:
      description: Authenticated actor cannot access this route or workspace
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
            details: {}
            retryAfterMs:
              type: number
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      description: Breakcold public API key, for example `Bearer bc_live_...`.
    BreakcoldOAuth:
      type: oauth2
      description: >-
        Breakcold signed-in user access token. Most REST API integrations should
        use an API key instead.
      flows:
        authorizationCode:
          authorizationUrl: https://YOUR_AUTH_DOMAIN/oauth2/authorize
          tokenUrl: https://YOUR_AUTH_DOMAIN/oauth2/token
          scopes:
            records:read: Access records:read
            records:write: Access records:write
            tasks:read: Access tasks:read
            tasks:write: Access tasks:write
            notes:read: Access notes:read
            notes:write: Access notes:write
            inbox:read: Access inbox:read
            inbox:send: Access inbox:send
            crm:metadata:read: Access crm:metadata:read
            crm:metadata:write: Access crm:metadata:write
            inbox:views:read: Access inbox:views:read
            inbox:views:write: Access inbox:views:write
            meetings:read: Access meetings:read
            webhooks:write: Access webhooks:write

````