billing

POST /v1/subscriptions/{subscriptionId}/auto-renew

Turn a subscription's renewal on or off.

Tous les points de terminaison billing

Authentification

Envoyez une clé API en tant que jeton du porteur. La clé doit posséder l'autorisation billing.payment.manage ; une clé qui ne l'a pas est refusée avec le code 403, et non 404.

Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.

Essayer

Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.

curl -X POST https://api.zinndigital.com/v1/subscriptions/{subscriptionId}/auto-renew \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "auto_renew": <boolean> }'

Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API

Détails

**The customer's renewal switch, and the only one there is.** With `auto_renew` **false** the subscription runs to the end of the period already paid for and is then `expired` by the rebill sweep — nothing is minted, no card is charged, and the entitlements lapse at the same instant the period does. It is **not** an immediate cancellation: every day already bought is kept. With it **true** the subscription is selected by the nightly sweep at `current_period_end`, an order is minted and the payment method is charged. The switch is reversible right up to that moment, which is the customer's way back after turning it off. For a compute server the machine follows on its own: the provider's own renewal flag is pinned to "hold" for the life of every machine and is never exposed, so an unrenewed contract keeps serving for 24 hours, is powered down, and is deleted six days after that. Zinn® issues each vendor renewal explicitly, after the money is captured. Find a server's subscription with `subscription_id` on `GET /v1/compute/servers/{serverId}/renewal`. The response is the subscription **as the database now holds it**, not an echo of the request. Requires `billing.payment.manage` — the authority to decide what this account is charged. It deliberately does **not** require `sites.view`: a subscription is not a site, and this endpoint governs every plan, including ones that own no site. `404` for a subscription in another tenant as well as for one that does not exist — a `403` would confirm that an id belongs to somebody. `422` when the subscription has already ended (`canceled`/`expired`): writing `true` to a row the sweep can never select again would tell the customer they were covered when nothing will charge or serve them.

Paramètres

NomTypeObligatoireQu'est-ce que c'est
subscriptionId (path)UuidOuiThe subscription whose renewal is being changed.

Corps de la requête

NomTypeObligatoireQu'est-ce que c'est
auto_renewbooleanOui`true` to charge again at `current_period_end`; `false` to run to the end of the paid period and then expire.

Réponse

NomTypeObligatoireQu'est-ce que c'est
idUuidOuiUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidOuiUUIDv7 identifier — sortable by creation time (docs/02 §8).
statusSubscriptionStatusOuiA subscription's lifecycle state (docs/05 §1).
planSubscriptionPlanRefOuiThe pinned plan version a subscription was sold (a purchase-time snapshot).
priceMoneyAmountOuiThe captured price the subscriber pays (minor units + code, §2.8).
intervalstring<monthly, annual>Oui
entitlementsobjectOuiThe resolved entitlements captured at purchase (feature/quota map).
current_period_startstringOui
current_period_endstringOui
auto_renewbooleanOuiWhether this subscription charges again at `current_period_end`. `false` does not mean it has ended: it runs to the end of the period already paid for and is then `expired`. Cha…
started_atstringOui
canceled_atobjectNon
created_atstringOui
updated_atstringNon

Erreurs que cet point de terminaison peut renvoyer

401 · 403 · 404 · 422 · 429