---
title: "Resume message queue"
method: POST
path: "/api/apps/{app_id}/chat/queue/resume"
---

# Resume message queue

`POST /api/apps/{app_id}/chat/queue/resume`

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

Lifts the queue's pause, whether you set it or Base44 did, and starts the next queued message once the AI is free. Resuming a queue that isn't paused also starts the next message if the AI is idle.

[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. Call this to carry on.

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>

## Path parameters

- `app_id` string, required — ID of the app whose message queue this request acts on.

## Response `200`

The queue, no longer paused.

- MessageQueue — The messages waiting to run, in the order they run.
  - `items` QueuedMessage[], required — The queued messages, next to run first. Holds at most 7.
    - `id` string, required — ID of the queued message.
    - `content` string, required — Text of the message, as it will be sent to the AI.
    - `branch_id` string, nullable, required — 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`.
    - `created_at` string, required — When the message was queued, as a UTC timestamp in ISO 8601 format.
  - `is_paused` boolean, required — Whether the queue is paused. While it is, queued messages don't run.

## Other responses

- `401` — Missing or invalid credentials.
- `403` — 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` — App not found.
- `429` — 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.

## Changes

> 28 revisions in range; 1 not diffed.

- **2026-10-06** `dddf17e0f9f0` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/chat/queue/resume/post.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/99df85f579f9?raw)
