# Create a Stripe checkout session > POST /api/stripe/create-checkout-session on the Vigilbase One API. Source: https://docs.vigilbase.com/one/api/reference/stripe/post-stripe-create-checkout-session `POST https://one.vigilbase.com/api/stripe/create-checkout-session` > Needs a recent sign-in: renewing a token doesn't count, and MCP sessions and API keys are always refused. See [changes that need a recent sign-in](https://docs.vigilbase.com/one/api#changes-that-need-a-recent-sign-in). ## Authorizations - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. Organisation API keys can't call this endpoint: it needs a recent sign-in by a person. - Permissions checked: `write:billing` ## Body (application/json) - `lead_id` (string) - `product_key` (string) - `operation_id` (string, required) - `bandwidth_limit` (number, required) - `domain` (string) - `dns_records` (object[]) - `id` (string, required) - `name` (string, required) - `type` (string, required): One of `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `NS`, `SRV`, `CAA`. - `content` (string, required) - `ttl` (number, required): Minimum 60, maximum 86400. - `priority` (number): Minimum 0, maximum 65535. - `proxied` (boolean) - `comment` (string) - `customer_email` (string) - `customer_name` (string) - `billing_address` (object) - `line1` (string, required) - `line2` (string | null, required) - `city` (string, required) - `state` (string, required) - `postal_code` (string, required) - `country` (string, required) - `has_agreed_to_liability` (boolean) - `include_onboarding` (boolean) - `success_url` (string) - `cancel_url` (string) - `first_name` (string) - `last_name` (string) - `phone` (string) - `company_name` (string) - `selected_tier` (integer): Minimum 1, maximum 3. - `bandwidth_tb` (number) ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`. API keys can't call this. curl --request POST \ --url 'https://one.vigilbase.com/api/stripe/create-checkout-session' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{"lead_id":"","product_key":"","operation_id":"","bandwidth_limit":123,"domain":"","dns_records":[{"id":"","name":"","type":"A","content":"","ttl":123,"priority":123,"proxied":true,"comment":""}],"customer_email":"","customer_name":"","billing_address":{"line1":"","line2":"","city":"","state":"","postal_code":"","country":""},"has_agreed_to_liability":true,"include_onboarding":true,"success_url":"","cancel_url":"","first_name":"","last_name":"","phone":"","company_name":"","selected_tier":123,"bandwidth_tb":123}' ```