approval_expired
A person tried to countersign or deny after the approval’s expires_at.
HTTP 409 · invalid_request_error · not retryable
What happened
Section titled “What happened”A person tried to countersign or deny after the approval’s expires_at. Timeout means no: nothing ran, and the expiry sweeper seals the action as expired with no
decider. POST /v1/actions doesn’t use this code: an agent learns about the expiry from the
action’s status: expired (or deedglass.check_approval).
What to do
Section titled “What to do”Nothing runs on its own. If the action is still needed, ask the agent to send it again: that asks for a new approval.
Example
Section titled “Example”{ "error": { "type": "invalid_request_error", "code": "approval_expired", "message": "This approval expired at 10:41 IST. Nothing ran. Ask the agent to try again if it's still needed.", "param": null, "request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d", "doc_url": "https://docs.deedglass.com/errors/approval_expired" }}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) |
InvalidRequestError with code === "approval_expired" |
Python (deedglass) |
deedglass.InvalidRequestError with .code == "approval_expired" |