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

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Get message queue

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the messages waiting to run in the app's AI chat, next to run first, and whether the queue is paused.

When the AI is busy, [Send chat message](/api-reference/send-chat-message) can queue your message instead of running it and return `{"queued": true}`. Queued messages run one at a time, in order, each as its own turn, once the turn before it finishes. The queue holds up to 7 messages, and a queue nobody changes for 24 hours is emptied. Base44 queues messages on apps that more than one person edits, so on other apps the queue is usually empty.

The API acts on the queue of the app's main line. Queues on branches aren't available through it.

[Stop generation](/api-reference/stop-generation) pauses a queue that has messages in it, so nothing queued starts after you stop. [Edit and resend](/api-reference/edit-and-resend) pauses the queue while it runs and resumes it afterward, unless the AI ends that turn waiting on a tool call. A turn that ends waiting on a tool call also pauses the queue until you answer it with [Submit tool-call input](/api-reference/submit-tool-call-input). Base44 doesn't lift a pause you set yourself, but every pause expires 24 hours after it was set.

This is limited to 120 requests per minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app, including a read-only key. Workspace API keys are not accepted.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/chat/queue
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/chat/queue:
    get:
      summary: Get message queue
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns the messages waiting to run in the app's AI chat, next to run
        first, and whether the queue is paused.


        When the AI is busy, [Send chat
        message](/api-reference/send-chat-message) can queue your message
        instead of running it and return `{"queued": true}`. Queued messages run
        one at a time, in order, each as its own turn, once the turn before it
        finishes. The queue holds up to 7 messages, and a queue nobody changes
        for 24 hours is emptied. Base44 queues messages on apps that more than
        one person edits, so on other apps the queue is usually empty.


        The API acts on the queue of the app's main line. Queues on branches
        aren't available through it.


        [Stop generation](/api-reference/stop-generation) pauses a queue that
        has messages in it, so nothing queued starts after you stop. [Edit and
        resend](/api-reference/edit-and-resend) pauses the queue while it runs
        and resumes it afterward, unless the AI ends that turn waiting on a tool
        call. A turn that ends waiting on a tool call also pauses the queue
        until you answer it with [Submit tool-call
        input](/api-reference/submit-tool-call-input). Base44 doesn't lift a
        pause you set yourself, but every pause expires 24 hours after it was
        set.


        This is limited to 120 requests per minute per app for each workspace's
        personal API keys, so every key in a workspace shares one allowance.
        Some workspaces have a different limit.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app, including a read-only key. Workspace API keys
        are not accepted.</Note>


        <Warning>The response includes fields beyond the ones documented here.
        Don't rely on undocumented response fields, as they can change at any
        time.</Warning>
      operationId: get_queue_api_api_apps__app_id__chat_queue_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose message queue this request acts on.
            title: App Id
          description: ID of the app whose message queue this request acts on.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app's message queue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageQueue'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, the app is blocked, or you
            used a workspace API key.
        '404':
          description: App not found.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 120 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    MessageQueue:
      properties:
        items:
          items:
            $ref: '#/components/schemas/QueuedMessage'
          type: array
          title: Items
          description: The queued messages, next to run first. Holds at most 7.
          example:
            - branch_id: 68f1a2b3c4d5e6f708192a3b
              content: Add a contact form to the home page
              created_at: '2026-10-05T14:30:00.123456+00:00'
              id: 3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f
        is_paused:
          type: boolean
          title: Is Paused
          description: Whether the queue is paused. While it is, queued messages don't run.
          example: false
      type: object
      required:
        - items
        - is_paused
      title: MessageQueue
      description: The messages waiting to run, in the order they run.
    QueuedMessage:
      properties:
        id:
          type: string
          title: Id
          description: ID of the queued message.
          example: 3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f
        content:
          type: string
          title: Content
          description: Text of the message, as it will be sent to the AI.
          example: Add a contact form to the home page
        branch_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Branch Id
          description: >-
            ID of the branch the message was queued on, or `null` for main. The
            API acts on main's queue, so this is normally `null`.
          example: 68f1a2b3c4d5e6f708192a3b
        created_at:
          type: string
          title: Created At
          description: When the message was queued, as a UTC timestamp in ISO 8601 format.
          example: '2026-10-05T14:30:00.123456+00:00'
      type: object
      required:
        - id
        - content
        - branch_id
        - created_at
      title: QueuedMessage
      description: A message waiting for the AI to finish its current turn.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````

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