Platform API

GET /regions

json
[{ "id": "centralindia-k3s", "name": "Central India", "status": "active" }]

GET /quota

json
{ "owner": "karthik", "limit": { "workspaces": 5, "environments": 2, "snapshots": 20, "disk_gb": 100, "cpu": 40, "memory_gb": 80 }, "used": { … } }

?owner={team} for a team you belong to.

GET /builders/me

?team={slug} for a team's. { "id", "state", "ready", "conditions" }. Never listed elsewhere.

Requests

POST /requests

FieldRequired
kindyes: quota, access, region, other
reasonyes
ownerno; a team slug you administer
quotafor quota: {workspaces?, environments?, snapshots?, disk_gb?, cpu?, memory_gb?}
accessfor access: {team, role}
regionfor region: {region, title, body}
otherfor other: {title, body}

409 when a pending request of that kind already exists for the owner.

GET /requests · GET /requests/{id}

{ id, owner, kind, requested_by, reason, quota, access, region, other, state, … }.

Keys

MethodPathBody
POST/keys{ "name", "key", "signing": false } — owner in the body is 400
GET/keys
DELETE/keys/{id}

Tokens

MethodPathBody
POST/tokens{ "name" } (session auth)
GET/tokens
DELETE/tokens/{id}
GET/cli/tokensTokens minted by kl-connect login
DELETE/cli/tokens/{id}

Teams

MethodPathBody
POST/teams{ "slug", "name" }
GET/teams
GET/teams/{slug}/profile
POST/teams/{slug}/invites{ "email", "role": "member" | "admin" }
DELETE/teams/{slug}/invites/{id}