Billing
Change the plan
/v1/workspaces/{workspaceId}/billing/planSwitch a paying workspace to another plan or billing interval. Most changes apply now, prorated (what's left of the current period is credited and the billing date restarts), including monthly to yearly; yearly to monthly waits for the paid year to end. The new plan applies when the provider confirms (GET /v1/workspaces/{workspaceId}/billing then shows it). The workspace must fit the new plan, as at checkout, or it gets 409 plan_does_not_fit with issues. So downgrading means cutting back first. A plan without phone and email verification or AI-assisted fields never blocks the move; it goes ahead and stops lists what stops. It fails with 409 no_subscription when nothing is being paid, so start a checkout instead. It also fails with 409 already_on_plan, 409 yearly_unavailable, and 409 free_workspace when staff made the workspace free. Only the workspace owner can do this, and only from the app. See Owner-only and app-only.
Path parameters
workspaceIdstringrequiredThe workspace's id. An API key can only use its own workspace.
Body
JSON, with Content-Type: application/json.
planenumrequiredThe plan:
business,publishersoragencies.One of
"business","publishers","agencies"intervalenummonthoryear. Leave it out to keep the current interval. Yearly is sold only whereyearlyAvailableis true.One of
"month","year"
Response
planenumrequiredOne of
"business","publishers","agencies"intervalenumrequiredOne of
"month","year"startsAtnumber or nullrequiredWhen a change that waits takes effect, in milliseconds since the epoch. Yearly to monthly waits for the end of the paid year. Null when the change applies now. Until it takes effect,
GET /v1/workspaces/{workspaceId}/billingshows it assubscription.scheduledChange. Picking the current plan and interval again cancels a scheduled change.stopsarray of objectrequiredEach check that stops and the published forms it stops on, as in
plans[].stopsof the billing state. Their leads still come in unverified, and AI autocomplete questions become plain text boxes.Show 4 fieldsHide 4 fields
checkenumrequiredOne of
"phoneVerification","emailValidation","telegramCheck","aiAutocomplete"featurestringrequiredThe plan feature the check needs.
formsarray of objectrequiredThe published forms that run it.
Show 2 fieldsHide 2 fields
idstringrequirednamestringrequired
messagestringrequired
Errors answer with a status and the error shape.