Bulk Update Subscription Items
Bulk update subscription items across multiple subscriptions.
Updates items on up to 100 subscriptions in a single API call.
Returns HTTP 200 even for partial failures - check the failed list.
Supports PAUSED subscriptions (in addition to ACTIVE, TRIALING, PAST_DUE).
Proration is automatically skipped for PAUSED and TRIALING subscriptions.
Each subscription is processed independently - one failure doesn't affect others.
**Supported item operations** (same as single update):
- Add new item: `{"price_id": "price_xxx", "quantity": 2}`
- Update existing item: `{"id": "si_xxx", "quantity": 5}`
- Delete item: `{"id": "si_xxx", "deleted": true}`
- Schedule removal: `{"id": "si_xxx", "drop_at_end": true}`
**Error codes for failed subscriptions:**
- `subscription_not_found`: Subscription doesn't exist or belongs to another account
- `invalid_state`: Subscription in CANCELLED, INCOMPLETE, or SCHEDULED state
- `interval_mismatch`: Price interval doesn't match subscription interval
- `validation_error`: Invalid item change
- `payment_failed`: Payment failed (for always_invoice behavior)
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
account_id
Request
This endpoint expects an object.
subscriptions
proration_behavior
Proration behavior for mid-cycle subscription changes.
- ALWAYS_INVOICE: Create invoice immediately and attempt payment now
- CREATE_PRORATIONS: Create floating items (invoice_id=NULL) for next renewal
- NONE: No proration, changes apply at next renewal only
Response
Successful Response
total_processed
total_succeeded
total_failed
total_proration_amount_atom
invoices_created
floating_items_created
succeeded
failed
Errors
422
Unprocessable Entity Error