Skip to content
Console
Menu

Queues

Workflows

Getting Started

Authentication

KV Store

Cancel a customer subscription

Cancels a web subscription, now or at the period end, and optionally refunds its last payment (for example a statutory cancellation window).

Cancels a web subscription, now or at the period end, and optionally refunds its last payment (for example a statutory cancellation window).

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/customer_subscriptions/customer-subscription:cancel
  • Scope billing:write
  • Effect destructive — a successful call removes data; the CLI asks before it runs.
  • Collection customer_subscriptions

#Request

FieldTypeWhat it is
namestringThe subscription to cancel. Required.
at_period_endboolEnd it at the period end (true) or now (false).
refund_last_paymentboolRefund the last payment in full; only with at_period_end false.

#Response

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/customer_subscriptions/{customer_subscription}.
uidstringcsb_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
subjectSubjectWho holds it. Output only.
sourcestringstripe, app_store, or google_play. Output only.
processor_subscription_idstringThe processor's subscription id. Output only.
statusstringtrialing, active, past_due, paused, canceled, unpaid, incomplete, or incomplete_expired, as the processor reports it. Output only.
itemsLineItem[]The prices, by lookup key, and their quantities. Output only.
current_period_end_timetimestampThe end of the paid period. Output only.
cancel_at_period_endboolWhether it ends at current_period_end_time instead of renewing. Output only.
trial_end_timetimestampThe end of the trial, when there is one. Output only.
metadatastructThe checkout's metadata. Output only.

#ResourceMeta

FieldTypeWhat it is
generationint64Increases by one on every change to spec. Output only.
etagstringStrong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only.
create_timetimestampWhen the Resource was created. Output only.
update_timetimestampWhen the Resource last changed. Output only.
delete_timetimestampSet while the Resource is being deleted. Output only.
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.
creatorstringThe principal that created the Resource. Output only.

#Subject

FieldTypeWhat it is
end_userstringAn end user's id (Sylphx Auth, or the app's own OIDC issuer). One of the kind group.
customer_organizationstringA customer organization's id. One of the kind group.

#LineItem

FieldTypeWhat it is
pricestringThe price's lookup key. Required.
quantityint32How many; default 1. Seats for a per-seat or family price.

#Errors

  • UNAUTHENTICATED — No valid key or token was presented.
  • PERMISSION_DENIED — The key lacks the method's permission.
  • RESOURCE_NOT_FOUND — The named Resource does not exist or is not visible.
  • INVALID_STATE — The Resource is in a state that forbids the call.
  • UNAVAILABLE — The Resource store, the owning service's backend, or the key verifier's snapshot is unavailable; retry after Retry-After.

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/customer_subscriptions/customer-subscription:cancel" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'