SnozeDevelopers
API referenceBilling

Change the workspace subscription plan

Moves the existing subscription to the requested plan and billing interval in place, then returns the resulting subscription. Requires a Clerk session with a synced profile and the `billing:manage` workspace permission; the caller's pricing-experiment variant is applied so the price matches the catalog they were shown.

POST
/v1/workspaces/{workspaceId}/billing/change-plan
AuthorizationBearer <token>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

In: header

Path Parameters

workspaceId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/workspaces/string/billing/change-plan" \  -H "Content-Type: application/json" \  -d '{    "plan": "free",    "interval": "month"  }'
{  "data": {    "workspaceId": "string",    "plan": "free",    "status": "none",    "polarCustomerId": "string",    "polarSubscriptionId": "string",    "polarProductId": "string",    "cancelAtPeriodEnd": true,    "currentPeriodEnd": "string"  }}