Skip to main content

Three body shapes

The subscription routes do not have a single error shape. Read the status, then:

Codes

What is not an error

  • POST /v1/subscriptions returns 201 even when the first payment fails: read paymentStatus.success.
  • POST /cancel without cancelImmediately returns 200 without changing status: the cancellation is scheduled, cancelAt is set.
  • POST /retry-payment returns 200 with subscription.status still past_due on success: activation is asynchronous, subscriptionActivationPending is true.
  • An unknown field in the body is ignored, not refused — cancelAtPeriodEnd, pauseUntil, trial_days have no effect.