Creates a Stripe Checkout session in setup mode that puts a card on file without charging it, and returns its url; Stripe sends the user back to successUrl or cancelUrl. Requires an org admin, owner or billing role. Returns 403 when case billing is not enabled for the organization, and 409 when its billing profile has no Stripe customer yet.
POST
/billing/setup-session
curl \
--request POST 'http://api.example.com/billing/setup-session' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--header "organization: string" \
--data '{
"successUrl": "string",
"cancelUrl": "string"
}'
Request examples
# Headers
organization: string
# Payload
{
"successUrl": "string",
"cancelUrl": "string"
}
Response examples (200)
{
"data": {
"url": "https://checkout.stripe.com/c/pay/cs_test_a1Example"
},
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}