Skip to main content
POST
Change the plan or the quantity

Authorizations

X-Suby-Api-Key
string
header
required

Secret API key. sk_live_… (production) or sk_sandbox_… (sandbox).

Headers

Idempotency-Key
string

Optional key (≤255 chars, e.g. a UUID v4) making this POST safe to retry · the response is cached 24h and a retry with the SAME key replays it instead of re-executing. The same key with a different body → 422 IDEMPOTENCY_KEY_CONFLICT; a retry while the first is in flight → 409.

Maximum string length: 255
Example:

"5f3b9c2e-1a4d-4f2b-9c31-7e2a1b6d8c04"

Path Parameters

id
string
required
Example:

"sub_abc123"

Body

application/json

productId, quantity, or both.

productId
string

Target plan. Omitted = current plan.

Example:

"pro_9m2k1x8s7d6f"

quantity
integer

Units to hold afterwards (absolute, not a delta).

Required range: 1 <= x <= 999
Example:

3

effective
enum<string>
default:auto

auto: increase now, decrease at period end.

Available options:
auto,
now,
period_end
proration
enum<string>
default:delta

delta charges the prorated difference; none charges nothing.

Available options:
delta,
none
useCustomerPaymentMethod
boolean
default:true

Charge the subscription's saved card. false, or a method + card, uses a fresh card.

method
enum<string>

Fresh card only.

Available options:
CARD,
APPLE_PAY,
GOOGLE_PAY
card
object
successUrl
string<uri>

Redirect after actionUrl succeeds (full page). Omitted: a confirmation page.

cancelUrl
string<uri>

Redirect after actionUrl fails.

Response

Change accepted

success
boolean
required
Example:

true

data
object
required

Endpoint-specific payload.

message
string