Api

Base URL https://dev.kloudlite.io/v1. Every request carries Authorization: Bearer <token>; every body and response is JSON. The console and both CLIs use these routes and nothing else.

Base URL https://dev.kloudlite.io/v1. Every request carries Authorization: Bearer <token>; every body and response is JSON. The console and both CLIs use these routes and nothing else.

Conventions

IdsOpaque strings: ws-…, env-…, push-…. Workspace routes also accept a name you own
OwnerDerived from the token, or named with team / owner on create for a team you belong to
ErrorsA JSON body {"error": "…"} with one sentence
404Also the answer for an object you may not act on; nothing distinguishes the two
409A state conflict, or over quota (the sentence names the dimension)
422A package pin that cannot be resolved or is not cached

Routes

Workspaces — reference

MethodPath
POST/workspaces
GET/workspaces
POST/workspaces/restore
GET PATCH DELETE/workspaces/{id}
POST/workspaces/{id}/packages/update
POST/workspaces/{id}/clone · /push · /start · /stop · /ssh-session

Environments — reference

MethodPath
POST/environments
GET/environments
GET DELETE/environments/{id}
POST/environments/{id}/clone · /push · /start · /stop · /restore
POST/environments/{id}/intercepts
DELETE/environments/{id}/intercepts/{service}

Snapshots and volumes — reference

MethodPath
GET/volumes
GET/volumes/{name}/history · /volumes/{name}/refs
DELETE/volumes/{name} · /volumes/{name}/snapshots/{snapshot}

Platform — reference

MethodPath
GET/regions · /quota · /builders/me
POST GET/requests · /requests/{id}
POST GET DELETE/keys · /keys/{id} · /tokens · /tokens/{id} · /cli/tokens · /cli/tokens/{id}
POST GET/teams · /teams/{slug}/profile · /teams/{slug}/invites · /teams/{slug}/invites/{id}