Work in progress. Some documented features are not live yet.

Change plan

POST
/v1/subscriptions/{identity}/change

Upgrades start and charge for a full new billing period immediately, granting credits after confirmed payment. If payment requires action, the old plan remains until payment completes. Downgrades retain the current plan until renewal and return scheduledChange with the target plan and effectiveAt timestamp.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

identity*string
Length1 <= length <= 200

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/subscriptions/string/change" \  -H "Content-Type: application/json" \  -d '{    "planKey": "string",    "idempotencyKey": "string"  }'
{  "id": "string",  "identity": "string",  "planKey": "string",  "status": "string",  "periodStart": 0,  "periodEnd": 0,  "cancelAtPeriodEnd": true,  "scheduledChange": {    "planKey": "string",    "effectiveAt": 0  },  "paymentHold": true,  "creditGrants": [],  "topupsEnabled": true,  "featureMultipliers": [],  "pendingChange": {    "planKey": "string",    "expiresAt": 0,    "paymentUrl": "string"  },  "featureLimits": [    {      "featureKey": "string",      "limit": 0,      "period": "month",      "overage": "block"    }  ]}