Skip to content

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

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.

Countersign as a person: in Console › Approvals, with the link in the approval email, or (dev only) with deedglass approve --as <email>.

HTTP 403 · approval_needs_person
{
"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.

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