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

# Get a conversation

> Read one customer's conversation. A customer with no conversation gets an empty thread: `since` is `null` and `messages` is `[]`. On Node, call [`conversations.list`](/reference/node/conversations-list).



## OpenAPI

````yaml /openapi.yaml get /api/v1/assistants/{id}/conversations
openapi: 3.1.0
info:
  title: Concatflow API
  version: '1'
  description: >-
    Server-to-server routes behind @concatflow/node. Call them from your backend
    only: the API key must never reach a browser.
servers:
  - url: https://app.concatflow.com
security:
  - apiKey: []
paths:
  /api/v1/assistants/{id}/conversations:
    parameters:
      - $ref: '#/components/parameters/AssistantId'
      - $ref: '#/components/parameters/Partition'
    get:
      summary: Get a conversation
      description: >-
        Read one customer's conversation. A customer with no conversation gets
        an empty thread: `since` is `null` and `messages` is `[]`. On Node, call
        [`conversations.list`](/reference/node/conversations-list).
      operationId: getConversation
      responses:
        '200':
          description: The customer's thread.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Thread'
        '400':
          $ref: '#/components/responses/InvalidBody'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/BadPartition'
        '502':
          $ref: '#/components/responses/BackendUnreachable'
components:
  parameters:
    AssistantId:
      name: id
      in: path
      required: true
      description: The assistant's ID.
      schema:
        type: string
        format: uuid
    Partition:
      name: partition
      in: query
      required: true
      description: >-
        The customer's partition: `customer_id=4712`, several pairs joined with
        `,`. URL-encode the whole value. Keys and values must not contain `,` or
        `=`.
      schema:
        type: string
        maxLength: 500
        example: customer_id=4712
  schemas:
    Thread:
      type: object
      required:
        - partition
        - since
        - launcher
        - questions
        - credits_cents
        - messages
      additionalProperties: false
      properties:
        partition:
          type: object
          additionalProperties:
            type: string
          description: The customer's partition, as sent.
        since:
          type:
            - string
            - 'null'
          format: date-time
          description: When the first message was written. `null` when there is none.
        launcher:
          enum:
            - bubble
            - bar
            - null
          description: The launcher the conversation was held in.
        questions:
          type: integer
          minimum: 0
        credits_cents:
          type: number
          minimum: 0
          description: Total cost, in hundredths of a credit. Can be fractional.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
      example:
        partition:
          customer_id: '4712'
        since: '2026-10-02T09:14:03.112000+00:00'
        launcher: bar
        questions: 1
        credits_cents: 12
        messages:
          - id: …:q
            role: user
            text: Which invoices are still unpaid?
            at: '2026-10-02T09:14:03.112000+00:00'
            credits_cents: null
            blocks: []
          - id: …:a
            role: assistant
            text: You have two unpaid invoices.
            at: '2026-10-02T09:14:03.112000+00:00'
            credits_cents: 12
            blocks: []
    Message:
      type: object
      required:
        - id
        - role
        - text
        - at
        - credits_cents
        - blocks
      additionalProperties: false
      properties:
        id:
          type: string
        role:
          enum:
            - user
            - assistant
        text:
          type: string
        at:
          type: string
          format: date-time
        credits_cents:
          type:
            - number
            - 'null'
          description: Cost of the answer. Only set on `assistant` messages.
        blocks:
          type: array
          description: The tables, figures, charts and interfaces shown with the answer.
          items:
            $ref: '#/components/schemas/Block'
    RelayError:
      type: object
      required:
        - error
      additionalProperties: false
      properties:
        error:
          type: string
    Block:
      type: object
      required:
        - id
        - kind
        - title
        - spec
      properties:
        id:
          type: string
        kind:
          type: string
          description: The block type, such as `table` or `chart`.
        title:
          type: string
        spec:
          type: object
          description: The block's content. Its shape depends on `kind`.
  responses:
    InvalidBody:
      description: Malformed body, an ID that is not a UUID, or no `partition`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RelayError'
          example:
            error: invalid_body
    InvalidApiKey:
      description: Missing, wrong or revoked API key. Checked first.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RelayError'
          example:
            error: invalid_api_key
    NotFound:
      description: Unknown assistant, or one from another workspace.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail: {}
    BadPartition:
      description: The `partition` query string cannot be read.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: object
                required:
                  - code
                properties:
                  code:
                    const: bad_partition
          example:
            detail:
              code: bad_partition
    BackendUnreachable:
      description: Concatflow could not reach its API. Retry.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RelayError'
          example:
            error: backend_unreachable
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        Your secret API key, `lyra_sk_…`, from **Settings → Developers → API
        keys**.

````

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