Modulify

Resume a parked queue

resume_queue

Releases a site's parked message queue and runs the message at the front of it.

POST /v1/resume_queueScopechat:writeMakes changes

A queue parks when the last generation was stopped, ended in an error or ended part way through, and this is the only way past that hold. The platform deliberately stops working through the queue after a failure until a person or an agent has looked at it, so a message queued with queueResumable:true waits forever otherwise.

Read the failure with get_job first, and remove or rewrite anything queued that the failure made pointless, because everything still in the queue runs in order once you resume. The response carries whatever is still queued afterwards, and you poll get_job to follow the message it started.

Calling it on a site that is simply busy does nothing, and the running generation is never interrupted. It is refused, with the same message send_message would give, while the GitHub repository that holds the site blocks editing, and the queue then stays parked until that is resolved. See When the queue pauses.

Request

Call it with a POST to https://api.modulify.ai/v1/resume_queue, sending the inputs below as a JSON object. The token needs the chat:write scope.

It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.

curl -X POST https://api.modulify.ai/v1/resume_queue \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'

Over MCP, the same method is the resume_queue tool.

Inputs

Input Type Required Description
projectId string Yes The site id, from list_sites or get_site.

Response

Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.