Quote one change to a membership billed by a Stripe subscription: an upgrade (immediate, prorated), a downgrade (at the end of the cycle), a license seat total, cancel at the period end or immediately, or undoing a pending cancellation or downgrade. The quote freezes the prorated credit and amount due (Stripe applies discounts and automatic tax), is valid for one hour and makes no Stripe call; reuse requestId for retries. Its execution describes the Stripe change, which the merchant backend runs with its own Stripe key in record-only mode: update maps to subscriptions.update, cancel to subscriptions.cancel, schedule creates a schedule from the subscription and sets its two phases, and release.schedule is the ID of the Stripe subscription schedule to release.
API v1Updated
Make the request
Quote one change to a membership billed by a Stripe subscription: an upgrade (immediate, prorated), a downgrade (at the end of the cycle), a license seat total, cancel at the period end or immediately, or undoing a pending cancellation or downgrade. The quote freezes the prorated credit and amount due (Stripe applies discounts and automatic tax), is valid for one hour and makes no Stripe call; reuse requestId for retries. Its execution describes the Stripe change, which the merchant backend runs with its own Stripe key in record-only mode: update maps to subscriptions.update, cancel to subscriptions.cancel, schedule creates a schedule from the subscription and sets its two phases, and release.schedule is the ID of the Stripe subscription schedule to release.
Credential
Server API key or customer token. Customer calls cannot select another customer.
Permission
billing:read
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
Use the declared field type for business quantity. Credit operations use decimal strings to avoid floating-point error. quote/reserve/confirm/refund require positive quantities; consume can record zero-cost events.
internal_feature_iduuidOptional
The internal_feature_id value for this operation. Its accepted type and constraints are listed above and below.
billingCycleAnchor"now" | integerOptional
The billingCycleAnchor value for this operation. Its accepted type and constraints are listed above and below.
customerIduuidOptional
Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.
Response fields
Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.
HTTP 200 · application/json
requestIduuidRequired
Server-generated HTTP request UUID. Include it when reporting a failed request.
scopeobjectRequired
The App and environment of this response. Headers only verify scope; they cannot switch key scope.
Show child fields
projectIdstringRequired
App ID bound to the credential.
minLength: 1
environmentenumRequired
Separate data scope: sandbox or live.
Show allowed values
"sandbox""live"
quoteobject | objectRequired
The quote value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
carryOverBalancesobjectOptional
The carryOverBalances value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
enabledtrueRequired
The enabled value for this operation. Its accepted type and constraints are listed above and below.
featureIdsarrayOptional
The featureIds value for this operation. Its accepted type and constraints are listed above and below.
minItems: 1 · maxItems: 100
carryOverUsagesobjectOptional
The carryOverUsages value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
enabledtrueRequired
The enabled value for this operation. Its accepted type and constraints are listed above and below.
featureIdsarrayOptional
The featureIds value for this operation. Its accepted type and constraints are listed above and below.
minItems: 1 · maxItems: 100
operationIduuid | uuidRequired
Business operation UUID. Subscription execution references operationId from previewAttach; balance refunds reference the original consumption.
membershipIduuid | uuidRequired
The membershipId value for this operation. Its accepted type and constraints are listed above and below.
productVersionIduuid | uuidRequired
The productVersionId value for this operation. Its accepted type and constraints are listed above and below.
timingenum | "store"Required
Immediate or end-of-cycle timing, only for supported plan-change actions.
effectiveAtdate-time | nullRequired
The effectiveAt value for this operation. Its accepted type and constraints are listed above and below.
expiresAtdate-time | date-timeRequired
ISO 8601 UTC expiry. Expired sessions and reservations cannot be reused.
currencyenum | enumRequired
Currency code supported by the published price.
creditMinorinteger | nullRequired
The creditMinor value for this operation. Its accepted type and constraints are listed above and below.
debitMinorinteger | nullRequired
The debitMinor value for this operation. Its accepted type and constraints are listed above and below.
discountMinorinteger | nullRequired
The discountMinor value for this operation. Its accepted type and constraints are listed above and below.
taxMinorinteger | nullRequired
The taxMinor value for this operation. Its accepted type and constraints are listed above and below.
totalMinorinteger | nullRequired
The totalMinor value for this operation. Its accepted type and constraints are listed above and below.
retainedProductVersionIdsarray | arrayRequired
The retainedProductVersionIds value for this operation. Its accepted type and constraints are listed above and below.
executionobjectOptional
The execution value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
provider"stripe"Required
The provider value for this operation. Its accepted type and constraints are listed above and below.
invoiceModeobjectOptional
The invoiceMode value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
enabledbooleanRequired
The enabled value for this operation. Its accepted type and constraints are listed above and below.
enable_plan_immediatelybooleanRequired
The enable_plan_immediately value for this operation. Its accepted type and constraints are listed above and below.
default: false
finalizebooleanRequired
The finalize value for this operation. Its accepted type and constraints are listed above and below.
default: true
invoice_template_idstringOptional
The invoice_template_id value for this operation. Its accepted type and constraints are listed above and below.
net_terms_daysintegerOptional
The net_terms_days value for this operation. Its accepted type and constraints are listed above and below.
max: 9007199254740991
executorenumRequired
The executor value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"indiana""merchant"
accountIdstringRequired
The accountId value for this operation. Its accepted type and constraints are listed above and below.
pattern: ^acct_[A-Za-z0-9]+$
subscriptionIdstringRequired
The subscriptionId value for this operation. Its accepted type and constraints are listed above and below.
pattern: ^sub_[A-Za-z0-9]+$
actionenumRequired
Business action. Target fields and quantity requirements vary by action; see the request structure and example.
Show allowed values
"update""cancel""schedule""release"
updateobject | nullRequired
The update value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
itemsarrayRequired
The items value for this operation. Its accepted type and constraints are listed above and below.
maxItems: 20
removearrayRequired
The remove value for this operation. Its accepted type and constraints are listed above and below.
maxItems: 20
restoreItemsarrayOptional
The restoreItems value for this operation. Its accepted type and constraints are listed above and below.
minItems: 1 · maxItems: 20
prorationBehaviorenumOptional
The prorationBehavior value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"always_invoice""create_prorations""none"
prorationDateintegerOptional
The prorationDate value for this operation. Its accepted type and constraints are listed above and below.
max: 9007199254740991
paymentBehavior"error_if_incomplete"Optional
The paymentBehavior value for this operation. Its accepted type and constraints are listed above and below.
cancelAtPeriodEndbooleanOptional
The cancelAtPeriodEnd value for this operation. Its accepted type and constraints are listed above and below.
clearCancelAttrueOptional
The clearCancelAt value for this operation. Its accepted type and constraints are listed above and below.
billingCycleAnchorNowtrueOptional
The billingCycleAnchorNow value for this operation. Its accepted type and constraints are listed above and below.
metadataobjectRequired
The metadata value for this operation. Its accepted type and constraints are listed above and below.
cancelobject | nullRequired
The cancel value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
proratefalseRequired
The prorate value for this operation. Its accepted type and constraints are listed above and below.
invoiceNowfalseRequired
The invoiceNow value for this operation. Its accepted type and constraints are listed above and below.
scheduleobject | nullRequired
The schedule value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
currentItemsarrayRequired
The currentItems value for this operation. Its accepted type and constraints are listed above and below.
maxItems: 20
nextItemsarrayRequired
The nextItems value for this operation. Its accepted type and constraints are listed above and below.
minItems: 1 · maxItems: 20
switchAtintegerRequired
The switchAt value for this operation. Its accepted type and constraints are listed above and below.
max: 9007199254740991
intervalenumRequired
The interval value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"week""month""year"
intervalCountintegerRequired
Charging interval count: up to 156 weeks, 36 months or 3 years; omitted means 1. Not accepted for free or one_time. Allowance resets remain independent.
min: 1 · max: 52
resetBillingCycleAnchortrueOptional
The resetBillingCycleAnchor value for this operation. Its accepted type and constraints are listed above and below.
metadataobjectRequired
The metadata value for this operation. Its accepted type and constraints are listed above and below.
releaseobject | nullRequired
The release value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
schedulestringRequired
The schedule value for this operation. Its accepted type and constraints are listed above and below.
pattern: ^sub_sched_[A-Za-z0-9]+$
expiresAtdate-timeRequired
ISO 8601 UTC expiry. Expired sessions and reservations cannot be reused.
storeobjectOptional
The store value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
providerenumRequired
The provider value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"apple""google"
productIdstringRequired
The productId value for this operation. Its accepted type and constraints are listed above and below.
minLength: 1 · maxLength: 255
catalogAmountMinorintegerRequired
The catalogAmountMinor value for this operation. Its accepted type and constraints are listed above and below.
min: 0 · max: 100000000
policyenumRequired
The policy value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"apple_store""google_full_price"
Handle errors
Common failures
Code
Recovery
UNAUTHENTICATED
Verify the key or refresh the expired customer token once.
FORBIDDEN
Check current key permissions and customer access.
INVALID_REQUEST
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Use the App and environment bound to the credential.
Common failures
UNAUTHENTICATED
Recovery
Verify the key or refresh the expired customer token once.
FORBIDDEN
Recovery
Check current key permissions and customer access.
INVALID_REQUEST
Recovery
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Recovery
Use the App and environment bound to the credential.