approval_needs_person
An agent key or an org admin key called POST /v1/approvals/{id}/approve or /deny.
HTTP 403 · permission_error · not retryable
What happened
Section titled “What happened”An agent key or an org admin key called POST /v1/approvals/{id}/approve or /deny. Approvals are a person’s decision: no key, agent or automation can countersign.
What to do
Section titled “What to do”Countersign as a person: in Console › Approvals, with the link in the approval email, or (dev only) with deedglass approve --as <email>.
Example
Section titled “Example”{ "error": { "type": "permission_error", "code": "approval_needs_person", "message": "Approvals need a person. Agents and API keys can't countersign. Use Console › Approvals or the emailed link.", "param": null, "request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d", "doc_url": "https://docs.deedglass.com/errors/approval_needs_person" }}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 === "approval_needs_person" |
Python (deedglass) |
deedglass.PermissionDeniedError with .code == "approval_needs_person" |