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

# Edit queued message

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

Replaces the text of a queued message before it runs. Its place in the queue doesn't change.

Once a message starts running it leaves the queue, so it can no longer be edited.

A collaborator in the editor can send a queued message into the turn that's running. While that's happening the message can't be changed or removed.

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/{item_id}
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/{item_id}:
    put:
      summary: Edit queued message
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Replaces the text of a queued message before it runs. Its place in the
        queue doesn't change.


        Once a message starts running it leaves the queue, so it can no longer
        be edited.


        A collaborator in the editor can send a queued message into the turn
        that's running. While that's happening the message can't be changed or
        removed.


        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: edit_queue_item_api_api_apps__app_id__chat_queue__item_id__put
      parameters:
        - name: item_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the queued message to edit. Get it from `items[].id` in [Get
              message queue](/api-reference/get-message-queue).
            title: Item Id
          description: >-
            ID of the queued message to edit. Get it from `items[].id` in [Get
            message queue](/api-reference/get-message-queue).
          example: 3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f
        - 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/EditQueueItemPayload'
      responses:
        '200':
          description: The queue with the edited message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageQueue'
        '400':
          description: '`content` is longer than 100,000 characters.'
        '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, or no message with this ID is queued. It may already
            have started.
        '409':
          description: >-
            A collaborator is sending this message into the turn that's running.
            Try again once it finishes.
        '422':
          description: The request body is missing `content`, or it isn't a string.
        '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:
    EditQueueItemPayload:
      properties:
        content:
          type: string
          title: Content
          description: New text for the queued message. Up to 100,000 characters.
          example: Add a contact form with a phone number field to the home page
      type: object
      required:
        - content
      title: EditQueueItemPayload
    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.