Skip to content

Platform actions

Platform actions

The platform plane is the deployment itself, for the people who run the install: workspaces, environments, organizations inside any environment, and the operator roster. No key of any kind reaches it — only a platform operator, in the console or through a token they delegated, carrying the operator:* scope an action asks for.

Every row below is one action, reached through four doors that run the same code, with the same authorization, validation, approvals and Audit log entry: the console, the REST API, the MCP server and the cbox CLI. See Actions for how that works and Planes and hosts for where each plane is served.

REST https://<root-host>/api/v1/platform/… with a token the platform root issued a platform operator. No key is accepted
MCP /mcp on the platform root, signed in as a platform operator
CLI cbox login at the root as an operator, then the command below
OpenAPI /api/v1/platform/openapi.yaml on the host above — public, no key needed (source); every operation carries x-action, x-scope and x-danger

Danger is how much harm the action can do in the wrong hands: read only reads; write changes something another write can undo; destructive removes or revokes; critical mints credentials, takes over access or changes how people sign in. MCP clients are told a destructive or critical tool is destructive, the CLI asks before running one, and an approval policy keys on it.

Contents

Area Actions
Environments platform.environments.create, platform.environments.provision
Operators platform.operators.create, platform.operators.set_status
Organizations platform.organizations.create, platform.organizations.move, platform.organizations.set_status
Workspaces platform.workspaces.create, platform.workspaces.set_status

Environments

platform.environments.create

Create an environment on the deployment, with its own signing key. A domain is verified separately, by DNS.

REST POST /api/v1/platform/environments → 201
Scope operator:environments:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_environments_create
CLI cbox id platform environments create
Input Type Required Description
name string yes At most 190 characters.
domain string, nullable no The domain it will serve on, once verified by DNS. Checked to be free; not written yet. At most 190 characters.

platform.environments.provision

Bootstrap an environment with its first organization and an owner administrator, so people can sign in to it.

REST POST /api/v1/platform/environments/{environment_id}/provision → 201
Scope operator:environments:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_environments_provision
CLI cbox id platform environments provision <environment_id>
Input Type Required Description
environment_id string (path) yes
organization_name string yes At most 190 characters.
admin_name string yes At most 190 characters.
admin_email string (email) yes At most 190 characters.
admin_password string yes Write-only. Must meet the environment's own password policy. At most 200 characters.

Operators

platform.operators.create

Add a platform operator: a person with authority over the whole deployment.

REST POST /api/v1/platform/operators → 201
Scope operator:operators:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_operators_create
CLI cbox id platform operators create
Input Type Required Description
name string yes At most 190 characters.
email string (email) yes At most 190 characters.
password string yes Write-only. At least 12 characters, and not one known from a breach. At least 12 characters. At most 200 characters.

platform.operators.set_status

Suspend a platform operator, or reactivate one. Never yourself, and never the last active operator.

REST PUT /api/v1/platform/operators/{operator_id}/status → 200
Scope operator:operators:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_operators_set_status
CLI cbox id platform operators set_status <operator_id>
Input Type Required Description
operator_id string (path) yes
status string yes One of active, suspended.

Organizations

platform.organizations.create

Create an organization inside an environment, optionally under a parent organization of the same environment.

REST POST /api/v1/platform/environments/{environment_id}/organizations → 201
Scope operator:organizations:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_organizations_create
CLI cbox id platform organizations create <environment_id>
Input Type Required Description
environment_id string (path) yes
name string yes At most 190 characters.
type string yes One of customer, reseller.
parent_id string, nullable no An organization of the same environment to create it under.

platform.organizations.move

Move an organization under another organization of the same environment, or to the top of its hierarchy.

REST PUT /api/v1/platform/environments/{environment_id}/organizations/{organization_id}/parent → 200
Scope operator:organizations:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_organizations_move
CLI cbox id platform organizations move <environment_id> <organization_id>
Input Type Required Description
environment_id string (path) yes
organization_id string (path) yes
parent_id string, nullable no The new parent, of the same environment; null for the top of the hierarchy.

platform.organizations.set_status

Suspend an organization inside an environment (its members can no longer sign in to it) or reactivate it.

REST PUT /api/v1/platform/environments/{environment_id}/organizations/{organization_id}/status → 200
Scope operator:organizations:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_organizations_set_status
CLI cbox id platform organizations set_status <environment_id> <organization_id>
Input Type Required Description
environment_id string (path) yes
organization_id string (path) yes
status string yes One of active, suspended.

Workspaces

platform.workspaces.create

Create a workspace with its owner, first project and first environment; the owner is emailed a link to set their password.

REST POST /api/v1/platform/workspaces → 201
Scope operator:workspaces:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_workspaces_create
CLI cbox id platform workspaces create
Input Type Required Description
name string yes The workspace's name — usually the company it belongs to. At least 2 characters. At most 120 characters.
owner_email string (email) yes The owner. An address that already has an account keeps it; the workspace is added to it. At most 255 characters.
owner_name string yes At least 2 characters. At most 120 characters.
environment_limit integer yes The first project's environment allowance: 1, 2, 3, 5, 10 or 25. At least 1. At most 25.

platform.workspaces.set_status

Suspend a workspace (its people can no longer sign in, its environments stop serving) or reactivate it.

REST PUT /api/v1/platform/workspaces/{workspace_id}/status → 200
Scope operator:workspaces:write — on an access token delegated by an active platform operator. No management key is accepted.
Danger critical
MCP tool platform_workspaces_set_status
CLI cbox id platform workspaces set_status <workspace_id>
Input Type Required Description
workspace_id string (path) yes
status string yes One of active, suspended.