---
title: "Checkout Roadmap"
method: POST
path: "/api/checkout/roadmap"
---

# Checkout Roadmap

`POST /api/checkout/roadmap`

## Request

- Base URL: `https://opwhcervi3.execute-api.ca-central-1.amazonaws.com`
- URL: `https://opwhcervi3.execute-api.ca-central-1.amazonaws.com/api/checkout/roadmap`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`

Creates a Stripe-hosted one-time DX Roadmap checkout URL. An account is required (a Bearer session or an X-Api-Key), because the purchase attaches to it: 401 `account_required` without one; 409 `roadmap_already_owned` if the account already owns it; 422 for an invalid body; 503 `stripe_unconfigured` / 502 `stripe_error` when payments are unavailable. It does not charge immediately, consume quota, send email, or change entitlements.

## Headers

- `Authorization` string, nullable
- `X-Api-Key` string, nullable

## Request body

- CheckoutRequest
  - `client_ref` string, required

## Response `200`

Successful Response

- CheckoutResponse
  - `checkout_url` string, required

## Other responses

- `401`: `account_required`: sign in or send X-Api-Key; the purchase attaches to an account.
- `409`: `roadmap_already_owned`: this account already owns the DX Roadmap.
- `422`: Invalid request body (FastAPI validation error).
- `502`: `stripe_error`: Stripe rejected or failed the request.
- `503`: `stripe_unconfigured`: payments are not configured on this deployment.

---

[API](https://skmtc.dev/dxpert/apis/dxpert-ai-api.md) · [All operations](https://skmtc.dev/dxpert/apis/dxpert-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dxpert/apis/dxpert-ai-api/revisions/460f1c8c53d1?raw)
