org_stopped
Step 6: someone used Stop all agents for the org.
HTTP 403 · permission_error · not retryable
What happened
Section titled “What happened”Step 6: someone used Stop all agents for the org. Every agent key in the org
gets this answer until an owner starts the agents again. It takes precedence over agent_stopped
and agent_suspended. Org admin keys keep read-only access (GET) so incident response can look
around; an admin-key request that changes state (POST, PUT, PATCH, DELETE) gets this code
with the message “…so admin keys can only read until an owner starts them again…”. GET /v1/whoami still answers and shows "stopped": true. Console sessions aren’t affected.
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.
What to do
Section titled “What to do”Ask an owner of the org. They can start the agents in Console › Settings; the
server operator can run deedglass org start-all --reason "…". Agents that were stopped one by one
stay stopped.
Example
Section titled “Example”{ "error": { "type": "permission_error", "code": "org_stopped", "message": "All agents in Acme are stopped. An owner can start them again in Console › Settings.", "param": null, "request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d", "doc_url": "https://docs.deedglass.com/errors/org_stopped" }}The message is for a person and can get more exact over time: branch on type and code, never on the message.
In the SDKs
Section titled “In the SDKs”| SDK | Raised as |
|---|---|
TypeScript (@deedglass/sdk) |
PermissionDeniedError with code === "org_stopped" |
Python (deedglass) |
deedglass.PermissionDeniedError with .code == "org_stopped" |