Fleet API
The Fleet API returns tenant-scoped fleet configuration and provisioning state. Requires Clerk session authentication — the calling user must be authenticated and associated with a provisioned tenant.
GET /api/fleet
Returns the fleet configuration for the authenticated user's tenant, including agent specs, GCP resource details, and the full provisioning log.
Request
GET /api/fleet
Cookie: <Clerk session cookie>Response — 200 (fleet provisioned)
{
"ok": true,
"fleet": {
"status": "active",
"templateId": "standard-7-agent",
"dashboardUrl": "https://dashboard.example.com",
"agentSpecs": [
{ "name": "popashot", "role": "orchestrator" },
{ "name": "cantona", "role": "engineer" }
],
"repos": ["org/repo-a", "org/repo-b"],
"gcpResources": {
"vmName": "agent-fleet",
"zone": "europe-west2-b",
"ip": "34.89.x.x"
},
"provisionLog": [
{
"step": "vm_create",
"status": "complete",
"message": "VM created successfully",
"durationMs": 45200,
"createdAt": "2026-03-18T09:00:00.000Z"
}
],
"createdAt": "2026-03-18T09:00:00.000Z",
"updatedAt": "2026-03-18T09:05:00.000Z"
}
}Response — 200 (no fleet yet)
{
"ok": true,
"fleet": null
}Fleet status values
| Status | Meaning |
|---|---|
pending | Tenant created, provisioning not started |
provisioning | VM spin-up and agent bootstrap in progress |
active | Fleet is live and agents are running |
error | Provisioning failed — check provisionLog for the failing step |
suspended | Fleet paused (billing or admin action) |
Provisioning log steps
| Step | Description |
|---|---|
vm_create | GCP VM provisioned in the target zone |
workspace_bootstrap | Agent workspace directories created, repos cloned |
agent_config | AGENTS.md, SOUL.md, and workspace files written |
gateway_start | OpenClaw gateway process started and health-checked |
connectivity_check | Discord and Mission Control connectivity verified |
complete | Fleet fully provisioned and ready |
Tenant resolution
The API resolves the tenant from the authenticated session. If the user is a member of a Clerk organisation, the org's tenant is returned. Otherwise, the user's personal tenant is returned. If no tenant exists for the session,fleet: null is returned (the user has an account but hasn't provisioned a fleet yet).
See also
- Provision Flow API — triggering and monitoring provisioning
- Provisioning Pipeline — the full provisioning architecture
- Your First Fleet — what fleet status means for your agents