Skip to content

upstream_approval_pending

Stripe held the call for its own approval: the key is tagged as an agent key, and a Stripe approval rule (by default, refunds and subscription cancellations) answered approvalrequired with an…

HTTP 502 · api_error · not retryable

Stripe held the call for its own approval: the key is tagged as an agent key, and a Stripe approval rule (by default, refunds and subscription cancellations) answered approval_required with an approval request (apreq_…). Nothing happened yet, but Stripe completes the action by itself if its reviewer approves within 14 days, so Deedglass records the action as unknown and the deed as UNVERIFIABLE. The admin detail names the approval request.

Pick one approval surface. Use a restricted key without the agent tag when Deedglass is the gateway (Deedglass shows, approves and seals everything), or keep Stripe’s rules and expect UNVERIFIABLE deeds for held actions. Check Settings › Approvals in Stripe for the request.

HTTP 502 · upstream_approval_pending
{
"error": {
"type": "api_error",
"code": "upstream_approval_pending",
"message": "Stripe is holding this for its own approval. Deedglass can't see whether a Stripe reviewer approves it. Check Settings › Approvals in Stripe.",
"param": null,
"request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d",
"doc_url": "https://docs.deedglass.com/errors/upstream_approval_pending"
}
}

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) APIError with code === "upstream_approval_pending"
Python (deedglass) deedglass.APIError with .code == "upstream_approval_pending"