billing

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

Turn a subscription's renewal on or off.

Semua titik akhir billing

Pengesahan

Hantar kunci API sebagai token pembawa. Kunci tersebut mesti membawa kebenaran billing.payment.manage; kunci yang tidak mempunyainya akan ditolak dengan 403, bukan 404.

Titik akhir ini tidak memerlukan id organisasi. Kunci anda telah mengenal pasti organisasi kepunyaannya, dan respons dis skopkan kepadanya.

Cuba

Gantikan apa sahaja di dalam kurungan sudut dengan nilai anda sendiri, dan pemegang tempat kunci dengan kunci dari papan pemuka anda.

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> }'

Sudah log masuk? Konsol API dalam papan pemuka anda mengisi id organisasi sebenar dan kunci anda sendiri, serta menjalankan permintaan terhadap API langsung supaya anda boleh melihat respons sebenar. Buka penamat ini dalam konsol API

Butiran

**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.

Parameter

NamaJenisDiperlukanApakah ia
subscriptionId (path)UuidYaThe subscription whose renewal is being changed.

Badan permintaan

NamaJenisDiperlukanApakah ia
auto_renewbooleanYa`true` to charge again at `current_period_end`; `false` to run to the end of the paid period and then expire.

Respons

NamaJenisDiperlukanApakah ia
idUuidYaUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidYaUUIDv7 identifier — sortable by creation time (docs/02 §8).
statusSubscriptionStatusYaA subscription's lifecycle state (docs/05 §1).
planSubscriptionPlanRefYaThe pinned plan version a subscription was sold (a purchase-time snapshot).
priceMoneyAmountYaThe captured price the subscriber pays (minor units + code, §2.8).
intervalstring<monthly, annual>Ya
entitlementsobjectYaThe resolved entitlements captured at purchase (feature/quota map).
current_period_startstringYa
current_period_endstringYa
auto_renewbooleanYaWhether 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_atstringYa
canceled_atobjectTidak
created_atstringYa
updated_atstringTidak

Ralat yang boleh dikembalikan oleh titik akhir ini

401 · 403 · 404 · 422 · 429