Preview a subscription
What subscribing to, or moving to, the plan and interval would cost now: fee, discount, tax and total, calculated by Stripe Tax from the address (without one, before tax), when it takes effect and what is charged today. An invalid promotion code is reported in promotion, not refused. Changes nothing. While billing is switched off, it answers 409 conflict.
- Scopes
billing:write - Rate classwrite
- Idempotency-Key required
/v1/billing/previewWhat subscribing to, or moving to, the plan and interval would cost now: fee, discount, tax and total, calculated by Stripe Tax from the address (without one, before tax), when it takes effect and what is charged today. An invalid promotion code is reported in promotion, not refused. Changes nothing. 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"
Unique key for this operation, reused on retries (24 h)
1 <= length <= 257Preview the write and change nothing: true answers the would-be response, explain a Preview (application/vnd.furniops.preview+json)
Value in
- "true"
- "explain"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The plan and interval to subscribe to, or to move to
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 POST "https://example.com/v1/billing/preview" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "plan": "string" }'{ "object": "billing_preview", "plan": "string", "interval": "month", "currency": "string", "subtotal": 0, "discount": 0, "tax": 0, "total": 0, "tax_status": "complete", "timing": "now", "effective_at": "2019-08-24T14:15:22Z", "amount_due": 0, "credit_applied": 0, "renews_at": "2019-08-24T14:15:22Z", "quoted_at": "2019-08-24T14:15:22Z", "promotion": { "code": "string", "valid": true, "reason": "unknown" }}Preview a credit purchase POST
What buying the amount would cost now, with tax from Stripe Tax and the credit it adds. Changes nothing. Owner only. While billing is switched off, it answers 409 `conflict`.
Keep a cancelled subscription POST
Undoes a cancellation before the period ends. While billing is switched off, it answers 409 `conflict`. Without a subscription, 409.