Skip to content

agent_suspended

Step 8: the key is valid, and its agent is suspended, a planned pause.

HTTP 403 · permission_error · not retryable

Step 8: the key is valid, and its agent is suspended, a planned pause. GET /v1/whoami still answers and shows "status": "suspended". The message never says why or by whom.

On POST /v1/actions the attempt is still recorded: the action goes evaluated → denied → sealed with the stop decision (decision.source: stop), and the envelope carries the sealed action in error.action. The Ledger shows what a stopped agent tried to do. An action that waits for approval is checked again when someone approves it: if the agent or org is stopped by then, it ends denied the same way and never runs.

An admin can resume the agent in Console › Agents, or with deedglass agent resume <name>. If you didn’t expect the suspension, check the agent’s agent.suspended deed first.

HTTP 403 · agent_suspended
{
"error": {
"type": "permission_error",
"code": "agent_suspended",
"message": "Agent \"support-bot\" is suspended. An admin can resume it in Console › Agents.",
"param": null,
"request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d",
"doc_url": "https://docs.deedglass.com/errors/agent_suspended"
}
}

The message is for a person and can get more exact over time: branch on type and code, never on the message.

SDK Raised as
TypeScript (@deedglass/sdk) PermissionDeniedError with code === "agent_suspended"
Python (deedglass) deedglass.PermissionDeniedError with .code == "agent_suspended"