partner

POST /v1/partner/customers/{externalId}/boosts/{purchaseId}/cancel

Remove a customer's performance boost at the end of its paid month.

All partner endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the partner.domains permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X POST https://api.zinndigital.com/v1/partner/customers/{externalId}/boosts/{purchaseId}/cancel \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

The partner twin of cancelBoostPurchase: the boost keeps working until ends_at (the end of its paid month), then the site drops back to its plan's limits; nothing is refunded. purchaseId is the boost's id — getPartnerSiteResources.held.id, or the purchase_id on the order line that bought it. It cannot touch a plan: only a performance-boost purchase is accepted (422 not_a_boost otherwise), and a subscription is not a purchase. Refusals (details[0].code): not_a_boost, not_owned (another of your customers), already_cancelled (removal already scheduled), already_ended; an id you cannot reach is a 404. Requires partner.domains.

Parameters

NameTypeRequiredWhat it is
externalId (path)stringYesYOUR id for that customer — whatever your own system calls them. It is what makes linking idempotent, and it is scoped to your partner programme: another partner's id is a 404…
purchaseId (path)stringYes—

Response

NameTypeRequiredWhat it is
purchase_idstringYes—
extra_codestringYes—
ends_atobjectYesThe last day the boost works (the end of the paid month); after it the site drops back to its plan's limits at the next converge.

Errors this endpoint can return

401 · 403 · 404 · 422 · 429