billing
POST /v1/subscriptions/{subscriptionId}/auto-renew
Turn a subscription's renewal on or off.
Аутентификација
Пошаљите API кључ као bearer токен. Кључ мора имати дозволу billing.payment.manage; кључ без ње се одбија уз 403, а не 404.
Ова крајња тачка не прихвата id организације. Ваш кључ већ идентификује организацију којој припада, а одговор је ограничен на њу.
Испробајте
Замените све што је у угластим заградама сопственим вредностима, а чувар места кључа кључем са своје контролне табле.
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> }'Пријављени сте? API конзола на вашој контролној табли попуњава ваш прави id организације и ваш сопствени кључ, и покреће захтев према живом API-ју како бисте могли да видите стварни одговор. Отворите ову крајњу тачку у API конзоли
Детаљи
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.
Параметри
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
subscriptionId (path) | Uuid | Да | The subscription whose renewal is being changed. |
Тело захтева
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
auto_renew | boolean | Да | true to charge again at current_period_end; false to run to the end of the paid period and then expire. |
Одговор
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
id | Uuid | Да | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Да | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
status | SubscriptionStatus | Да | A subscription's lifecycle state (docs/05 §1). |
plan | SubscriptionPlanRef | Да | The pinned plan version a subscription was sold (a purchase-time snapshot). |
kind | string<plan, item> | Не | What this subscription pays for. plan is a hosting (or other) plan; item bills one machine or managed database bought on its own order line. ⚖️… |
price | MoneyAmount | Да | The captured price the subscriber pays (minor units + code, §2.8). |
interval | string<monthly, annual> | Да | — |
entitlements | object | Да | The resolved entitlements captured at purchase (feature/quota map). |
current_period_start | string | Да | — |
current_period_end | string | Да | — |
auto_renew | boolean | Да | Whether 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.… |
billing_rail | string<engine, paypal> | Не | Which clock decides when this subscription is charged (W41-G, ADR 0029). engine is the default and is what ADR 0011 describes: the engine decides money is due, mints an… |
started_at | string | Да | — |
canceled_at | object | Не | — |
created_at | string | Да | — |
updated_at | string | Не | — |
periods_owed | integer | Не | How many whole billing periods must still be paid before this subscription may resume — every missed period and the current one (W43-107, owner ruling 2026-09-15). 0 when it… |
Грешке које ова крајња тачка може вратити
401 · 403 · 404 · 422 · 429