Create checkout session
POST /v1/billing/checkout
Create a Stripe checkout session for upgrading to a paid plan. Returns a URL to redirect the user to Stripe’s hosted checkout page.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Plan to subscribe to
Example
proBilling interval
Example
monthlyExamples
Pro plan monthly
{ "plan": "pro", "interval": "monthly"}Business plan annual
{ "plan": "business", "interval": "annual"}Responses
Section titled “ Responses ”Checkout session created successfully
object
object
Stripe checkout session ID
Example
cs_test_abc123URL to redirect user to Stripe checkout
Example
https://checkout.stripe.com/c/pay/cs_test_abc123object
Unique identifier for this request (useful for support)
Example
req_xyz123Example
{ "data": { "session_id": "cs_test_abc123", "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_abc123" }, "meta": { "request_id": "req_xyz123" }}Invalid request
object
object
Machine-readable error code
Example
INVALID_REQUESTHuman-readable error message
Example
endpoint must be a valid HTTPS URLobject
Unique identifier for this request (useful for support)
Example
req_xyz123Examples
Endpoint not found
{ "error": { "code": "ENDPOINT_NOT_FOUND", "message": "endpoint not found" }, "meta": { "request_id": "req_xyz123" }}Invalid endpoint ID format
{ "error": { "code": "INVALID_REQUEST", "message": "endpoint_id must be in format ep_xxx" }, "meta": { "request_id": "req_xyz123" }}Invalid payload
{ "error": { "code": "INVALID_REQUEST", "message": "payload must be valid JSON" }, "meta": { "request_id": "req_xyz123" }}Invalid headers
{ "error": { "code": "INVALID_HEADERS", "message": "header 'Host' is forbidden and cannot be overridden" }, "meta": { "request_id": "req_xyz123" }}Unauthorized - Invalid or missing API key
object
object
Machine-readable error code
Example
INVALID_REQUESTHuman-readable error message
Example
endpoint must be a valid HTTPS URLobject
Unique identifier for this request (useful for support)
Example
req_xyz123Example
{ "error": { "code": "UNAUTHORIZED", "message": "Invalid or missing API key" }, "meta": { "request_id": "req_xyz123" }}Already subscribed to a paid plan
object
object
Machine-readable error code
Example
INVALID_REQUESTHuman-readable error message
Example
endpoint must be a valid HTTPS URLobject
Unique identifier for this request (useful for support)
Example
req_xyz123Example
{ "error": { "code": "ALREADY_SUBSCRIBED", "message": "Tenant already has an active paid subscription" }, "meta": { "request_id": "req_xyz123" }}Enter your credentials to populate code examples throughout the docs.