API reference
Change portal subscription plan
Request a StableOps Portal subscription plan change, review an upgrade invoice or pending renewal plan, and verify settlement before granting different access.
POST
/v1/merchant/portal/subscription/change-planRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/merchant/portal/subscription/change-plan" \ -H "Content-Type: application/json" \ -d '{ "plan_id": "string" }'{
"subscription": {
"id": "string",
"merchant_user_id": "string",
"plan_id": "string",
"status": "incomplete",
"current_period_start": "2019-08-24T14:15:22Z",
"current_period_end": "2019-08-24T14:15:22Z",
"cancel_at_period_end": true,
"pending_plan_id": "string",
"pending_plan_change_at": "2019-08-24T14:15:22Z",
"trial_ends_at": "2019-08-24T14:15:22Z",
"canceled_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"invoice": {
"id": "string",
"subscription_id": "string",
"merchant_user_id": "string",
"kind": "first",
"period_start": "2019-08-24T14:15:22Z",
"period_end": "2019-08-24T14:15:22Z",
"amount": "string",
"asset": "USDC",
"status": "open",
"payment_order_id": "string",
"target_plan_id": "string",
"due_at": "2019-08-24T14:15:22Z",
"paid_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"pending": true
}How is this guide?
Last updated
Resume portal subscription POST
Resume a non-terminal StableOps Portal subscription by clearing scheduled cancellation, without paying unpaid invoices or reactivating an expired subscription.
Payment Events Webhook
Reference StableOps payment Webhook events, including triggers, payload fields, signature verification, deduplication, retries, and safe fulfillment guidance.