Skip to content

Send donation receipt​

POST
/donations/receipt/email

Email the receipt for one donation.

The donation is named by receipt_id and nothing else — every figure
in the email is read from that row, so the caller cannot dictate the
contents. receipt_id is the Stripe PaymentIntent id, which is not
guessable.

recipient_email is deliberately free-form, because "send it to my
accountant" is the feature. What bounds it instead is a cap of 5
sends per donation
, after which this returns 429 for that donation
permanently.

Authentication is optional; the endpoint is rate limited.

Authorizations​

BearerAuth

In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.

Type
HTTP (bearer)
or

Request Body​

application/json
JSON
{
"receipt_id": "pi_3abc123def456",
"recipient_email": "string"
}

Responses​

Receipt sent.

application/json
JSON
{
"success": true,
"message": "string"
}

Playground​

Server
Authorization
Body

Samples​

Powered by VitePress OpenAPI

Built with VitePress