Release one held donation
POST
/admin/payouts/donations/{donationId}/release
Releases a single held donation to its creator's connected account (the per-row CTA on the Transfers tab). A failed Stripe transfer (for example balance_insufficient because the source charge hasn't settled) returns 200 with status: failed and an error string — the UI shows it inline. Requires manage_system_settings. Audit logged.
Authorizations
BearerAuth
Authentication is handled automatically via httpOnly session cookies after signing in at /cognito/signin or via Google SSO at /cognito/oauth/google. For Swagger UI testing, paste a JWT token from the /cognito/signin response.
Type
HTTP (bearer)
Parameters
Path Parameters
donationId*
Type
Requiredstring
Format
"uuid"Responses
Per-donation release result
application/json
JSON
{
"data": {
"fundraiserId": "string",
"amountCents": 0,
"stripeTransferId": "string",
"status": "string",
"error": "string"
}
}