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

# Create Chat

> Create a new chat room. Optionally associate it with an artist and/or provide a client-generated chat ID. Pass accountId to create a chat on behalf of a specific account the API key has access to.



## OpenAPI

````yaml post /api/chats
openapi: 3.1.0
info:
  title: Recoup API - Research
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/chats:
    post:
      description: >-
        Create a new chat room. Optionally associate it with an artist and/or
        provide a client-generated chat ID. Pass accountId to create a chat on
        behalf of a specific account the API key has access to.
      requestBody:
        description: Chat creation parameters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChatRequest'
      responses:
        '200':
          description: Chat created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateChatResponse'
        '400':
          description: Bad request - failed to create chat
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateChatErrorResponse'
        '403':
          description: Forbidden - API key does not have access to the specified accountId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateChatErrorResponse'
components:
  schemas:
    CreateChatRequest:
      type: object
      properties:
        artistId:
          type: string
          format: uuid
          description: UUID of the artist account the chat is associated with
        chatId:
          type: string
          format: uuid
          description: >-
            UUID for the new chat (client-generated). If not provided, one will
            be generated automatically.
        accountId:
          type: string
          format: uuid
          description: >-
            UUID of the account to create the chat for. Only applicable when the
            authenticated account has access to multiple accounts via
            organization membership. If not provided, the chat is created for
            the API key's own account.
        topic:
          type: string
          description: >-
            Topic name for the new chat room (e.g., 'Pulse Feb 2'). To edit the
            topic of an existing room, use [PATCH
            /api/chats](/api-reference/chat/update).
    CreateChatResponse:
      type: object
      required:
        - status
        - chat
      properties:
        status:
          type: string
          enum:
            - success
          description: Status of the request
          example: success
        chat:
          $ref: '#/components/schemas/ChatRoom'
          description: The created chat room object
    CreateChatErrorResponse:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
          description: Status of the request
        message:
          type: string
          description: Error message describing what went wrong
    ChatRoom:
      type: object
      required:
        - id
        - title
        - accountId
        - sessionId
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Chat id.
        title:
          type: string
          description: Display title for the chat.
        accountId:
          type: string
          format: uuid
          description: Owning account for this chat.
        sessionId:
          type: string
          format: uuid
          description: >-
            Session that owns this chat. Combine with `id` to build the chat
            URL: `/sessions/{sessionId}/chats/{id}`.
        updatedAt:
          type: string
          format: date-time
          description: ISO timestamp of the last update.
        artistId:
          type: string
          format: uuid
          nullable: true
          description: >-
            Artist account id this chat's session was created in the context of,
            or `null` when no artist was associated. Inherited from
            `sessions.artist_id` on the owning session.

````