Update the billing name and email
The business name invoices are made out to and the email invoices and receipts go to. Saved on the Stripe customer at once. While billing is switched off, it answers 409 conflict.
- Scopes
billing:write - Rate classwrite
/v1/billing/detailsThe business name invoices are made out to and the email invoices and receipts go to. Saved on the Stripe customer at once. While billing is switched off, it answers 409 conflict.
Authorization
apiKey An API key (fo_live_… / fo_test_…) as a bearer token
In: header
Header Parameters
Dated API version; pinned per organisation on first use and overridable per request
Value in
- "2026-10-01"
- "2026-10-04"
The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused
Value in
- "live"
- "test"
This operation cannot be previewed (Saved at Stripe at once): 422 preview_unsupported, nothing changes
Value in
- "true"
- "explain"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The billing name and email; fields left out stay as they are
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X PATCH "https://example.com/v1/billing/details" \ -H "Content-Type: application/json" \ -d '{}'{ "object": "billing_details", "name": "string", "name_follows_org": true, "email": "[email protected]"}Subscribe, or change plan POST
Without a subscription, starts one on the plan and interval, with tax from the address and the promotion code's discount, renewing on the 1st (UTC) with the first, partial period prorated; usage past what the plan includes is billed monthly. It answers the payment the browser confirms with Stripe's Payment Element. With one, moves it to the plan with proration; a payment due now is confirmed the same way, and the plan changes only once it succeeds. A move to a lower tier (even monthly to annual), or annual to monthly on the same plan, waits for the end of the term (`subscription.scheduled_change`) and charges nothing today. The plan itself changes when Stripe confirms, within seconds. While billing is switched off, it answers 409 `conflict`.
Update how credit is spent PATCH
Whether Ask AI spends credit once today's allowance is used, the most credit spent per day, and the balance below which `credits.low` goes out. Owner only. Recorded in the audit log (`credits.settings_updated`).