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

# Send a message

> Sends your message to Connie in a chat and starts the reply. The call returns 202 as soon as the turn starts; the reply is not in this response. It is saved to the chat when the turn finishes, so read it with List chat messages. Turns cost credits like any chat turn, and only one turn runs in a chat at a time.




## OpenAPI

````yaml /openapi/chat.yaml post /brain/start
openapi: 3.1.0
info:
  title: Connie Chat API
  version: 1.0.0
  description: >
    Endpoints the Connie web app uses for chat. They authenticate with your
    signed-in browser session — see
    https://docs.connie.ai/api-reference/authentication. These are the app's own
    endpoints and can change when the app changes.
servers:
  - url: https://connie.ai/api
security:
  - sessionCookie: []
tags:
  - name: Chats
    description: List, create, rename, pin and delete chats.
  - name: Turns
    description: Send a message to Connie and stop a running reply.
  - name: Chat messages
    description: Read the saved messages of a chat.
  - name: Artifacts
    description: Workflows, tables, canvases, analytics views and apps attached to a chat.
  - name: Sharing
    description: >-
      Share a chat or a single file or canvas, and read a chat through its
      public link.
paths:
  /brain/start:
    post:
      tags:
        - Turns
      summary: Send a message
      description: >
        Sends your message to Connie in a chat and starts the reply. The call
        returns 202 as soon as the turn starts; the reply is not in this
        response. It is saved to the chat when the turn finishes, so read it
        with List chat messages. Turns cost credits like any chat turn, and only
        one turn runs in a chat at a time.
      operationId: sendMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - message
                - workspaceId
              properties:
                message:
                  type: string
                  maxLength: 50000
                  description: >-
                    Your message, up to 50,000 characters. Start it with
                    `/skill-command` to run an enabled skill.
                workspaceId:
                  type: string
                  format: uuid
                  description: >-
                    Workspace the turn runs in. Required; it must be the chat's
                    workspace.
                conversationId:
                  type: string
                  format: uuid
                  description: >
                    The chat to post in. Connie reads the chat's earlier
                    messages itself. Without it the turn runs but nothing is
                    saved to a chat.
                requestId:
                  type: string
                  format: uuid
                  description: >
                    Your own id for this turn. Sending the same id again returns
                    the turn already started instead of starting a second one,
                    so retries are safe.
                mentions:
                  type: array
                  description: Things you @mentioned, such as a workflow or a call.
                  items:
                    type: object
                    required:
                      - type
                    properties:
                      type:
                        type: string
                        description: What was mentioned, for example `workflow` or `call`.
                      id:
                        type: string
                      displayName:
                        type: string
                fileAttachmentIds:
                  type: array
                  description: >-
                    Files you uploaded to this chat in the app and want Connie
                    to read with this message.
                  items:
                    type: string
                    format: uuid
      responses:
        '202':
          description: >-
            The turn started (or, for a repeated `requestId`, had already
            started).
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestId:
                    type: string
                    format: uuid
                    description: Id of this turn. Use it to stop the turn.
                  status:
                    type: string
                    example: running
                  message:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          description: >
            The workspace is out of credits (`INSUFFICIENT_CREDITS`), or a guest
            has used their free message (`GUEST_SIGNUP_REQUIRED`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            You can't post in this chat (`CHAT_FORBIDDEN`), or your workspace
            role can't run Connie.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >
            Another turn is still running in this chat (`CHAT_BUSY`), the chat
            changed under you (`CHAT_HISTORY_CONFLICT`), or the chat belongs to
            an Agent (`AGENT_THREAD`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: The chat has grown too large to continue. Start a new chat.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >
            Rate or token budget limit reached (`RATE_LIMIT_EXCEEDED`,
            `BUDGET_EXCEEDED`), too many turns running in the workspace
            (`WORKSPACE_QUEUE_FULL`), or the chat reached its tool-call limit
            (`CONVERSATION_TOOL_CAP`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  responses:
    BadRequest:
      description: A required field is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: >-
        No valid session (`UNAUTHORIZED`), or the session has expired
        (`SESSION_EXPIRED`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable message.
        code:
          type: string
          description: Machine-readable code, when there is one.
      required:
        - error
  securitySchemes:
    sessionCookie:
      type: apiKey
      in: header
      name: Cookie
      description: >-
        The full Cookie header copied from a signed-in connie.ai browser
        request. See the Authentication page.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.