Billing portal
Create portal session
Create a billing portal link for one subscription's customer.
POST/v1/billing_portal/sessions
Parameters
| Parameter | Description |
|---|---|
| return_urlstring (uri)required | Where the portal sends the customer when they leave it. Must be an absolute URL. At most 2083 characters. |
| subscription_idstringrequired | Id of the subscription the portal session covers. At most 64 characters. |
| deliver_emailbooleanoptional | Also email the portal link to the customer's address on file. When they have none, no email is sent and the session is still created. Defaults to false. |
Returns
Returns a BillingPortalSessionResponse object.
Errors
| Status | Cause |
|---|---|
| 400 | The request was refused (type: invalid_request_error): a required parameter is missing (parameter_missing), one failed validation (parameter_invalid) or is not one the operation takes (parameter_unknown), and param names it. |
| 401 | No credential, or one that does not authenticate. |
| 402 | The account is suspended (tenant_suspended), or the payment provider refused a charge or refund the call made (type: payment_error, code: payment_refused). |
| 403 | Authenticated, but not allowed: missing scope (insufficient_scope), a key of the wrong mode (mode_mismatch), or a refused origin. Needs the subscriptions:write scope. |
| 404 | No such object in this account and mode. |
| 409 | Conflicts with the object's current state (state_conflict, or a more specific code), or an operation still in flight (operation_pending). |
| 413 | The request body is larger than the API accepts. |
| 429 | Rate limited. Retry-After says when to try again. |
| 500 | Something failed on BillKit's side (type: api_error). Retry with the same Idempotency-Key. |
| 502 | The payment provider failed or did not answer. |
| 503 | Temporarily unable to serve. reason says whether the request was attempted. |
Other billing portal operations
- Revoke portal session POST /v1/billing_portal/sessions/{session_id}/revoke
BillKit