Browse the API reference

Get Checkout Session Status

get/v1/billing/checkout/{session_id}/status

Part of Billing.

Poll after returning from Stripe Checkout. Status progresses: pending_payment → provisioning → active. When active, resource_id is populated. operation_id is always null for webhook-driven provisioning and cannot be used to follow progress — poll this endpoint instead.

Authentication

Authenticate in any one of these ways — not all of them:

  • API key in the X-API-Key header.
  • Bearer token in the Authorization header.

Path parameters

NameTypeDescription
session_idrequiredstringSession Id

Example request

curl
curl -X GET "https://api.robosystems.ai/v1/billing/checkout/{session_id}/status" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY"

Responses

200 Successful Response

FieldTypeDescription
statusrequiredstring

Checkout status: 'pending_payment', 'provisioning', 'active', 'failed', 'canceled'

subscription_idrequiredstring

Internal subscription ID

resource_idoptionalstring

Resource ID (graph_id for both graphs and repositories) once provisioned. For repositories, this is the repository slug (e.g., 'sec')

operation_idoptionalstring

Always null. Webhook-driven provisioning passes no operation id (`_trigger_resource_provisioning` calls `run_graph_provisioning` with `operation_id=None`), so there is no SSE stream to follow — poll the status endpoint instead. Retained rather than removed because it is on a published response shape; wiring it is a feature, not a fix.

erroroptionalstring

Error message if checkout failed

StatusMeaning
400Invalid request
401Authentication required
403Access denied
404Resource not found
422Validation Error
429Rate limit exceeded
500Internal server error