Docs
Billing

Start paying for a plan

POST
/v1/billing/checkout

Nothing changes until the payment is confirmed. By card, the card is confirmed on the checkout page, then POST /billing/sync confirms the result; moving between paid plans by card starts the new one today and refunds the unused part of the old. By crypto, the customer pays a one-month invoice to the address shown on the checkout page; an upgrade mid-month is charged the difference, and a downgrade is bought once the current month ends.

Authorization

apiKey
AuthorizationBearer <token>

Authorization: Bearer fx_live_<id>_<secret>.

A key is shown once, at creation. We cannot show it again or recover it for you. Keys carry an environment (live or test) in the key itself, so a test key pasted into a production config fails immediately instead of at the worst possible moment.

Scopes are per key. A key without accounts:write can read accounts and nothing else.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/billing/checkout" \  -H "Content-Type: application/json" \  -d '{    "plan": "starter",    "method": "card"  }'
{  "data": {    "next": {      "type": "card-form",      "publishableKey": "string",      "subscriptionId": "string",      "customerId": "string",      "quote": {        "paymentId": "string",        "currency": "string",        "amount": "string",        "address": "string",        "extraId": null,        "network": null,        "expiresAt": null      }    },    "invoiceId": "string"  }}