> ## 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.

# Reorder message queue

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

Changes the order queued messages run in. Pass the IDs in the new order.

A message that joined the queue after you read it, and so isn't in your list, keeps its place after the ones you list.

This is limited to 60 requests per minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. Every endpoint that changes the queue shares it. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and 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 put /api/apps/{app_id}/chat/queue/reorder
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/reorder:
    put:
      summary: Reorder message queue
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Changes the order queued messages run in. Pass the IDs in the new order.


        A message that joined the queue after you read it, and so isn't in your
        list, keeps its place after the ones you list.


        This is limited to 60 requests per minute per app for each workspace's
        personal API keys, so every key in a workspace shares one allowance.
        Every endpoint that changes the queue shares it. Some workspaces have a
        different limit.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app. A read-only key is refused, and 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: reorder_queue_api_api_apps__app_id__chat_queue_reorder_put
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderQueuePayload'
      responses:
        '200':
          description: The queue in its new order.
          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, you're
            a viewer in the app's workspace, your API key is read-only, or you
            used a workspace API key.
        '404':
          description: App not found.
        '422':
          description: >-
            The request body is missing `item_ids`, it isn't a list of strings,
            or it repeats an ID.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 60 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    ReorderQueuePayload:
      properties:
        item_ids:
          items:
            type: string
          type: array
          title: Item Ids
          description: >-
            IDs of queued messages in the order you want them to run. IDs not in
            the queue are ignored, and queued messages you leave out keep their
            order after the ones you list. Each ID can appear once.
          example:
            - 3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f
            - 9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a
      type: object
      required:
        - item_ids
      title: ReorderQueuePayload
    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.