---
title: "Create a Stripe Checkout link (setup mode) to replace the card the plan renews with; nothing is charged"
method: POST
path: "/v1/subscription/card"
---

# Create a Stripe Checkout link (setup mode) to replace the card the plan renews with; nothing is charged

`POST /v1/subscription/card`

## Request

- Base URL: `https://volai.cz`
- URL: `https://volai.cz/v1/subscription/card`
- Auth: HTTP bearer

Creates a Stripe Checkout link in card-setup mode to replace the card the plan renews with. Nothing is charged from here, a HUMAN enters the new card on the Stripe page; it is then used for the plan and for top-ups from the card, and the old one is detached. Works in any plan status except `canceled`. Supports `Idempotency-Key`.

## Headers

- `Idempotency-Key` string

## Response `200`

Checkout URL

- object
  - `checkoutUrl` string, required

## Other responses

- `401`: Error codes: unauthorized (request).
- `403`: Error codes: account_suspended (account).
- `404`: Error codes: subscription_missing (account), user_not_found (account).
- `409`: Error codes: idempotency_in_progress (busy), subscription_canceled (account).
- `429`: Error codes: rate_limited (busy).
- `500`: Error codes: internal_error (service).
- `502`: Error codes: stripe_error (service).
- `503`: Error codes: stripe_not_configured (service), ledger_unavailable (service).

---

[API](https://skmtc.dev/volai/apis/volai-rest-api.md) · [All operations](https://skmtc.dev/volai/apis/volai-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volai/apis/volai-rest-api/revisions/12029b05e2fa?raw)
