wololo
Get access

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

StatusMeaning
pendingTenant created, provisioning not started
provisioningVM spin-up and agent bootstrap in progress
activeFleet is live and agents are running
errorProvisioning failed — check provisionLog for the failing step
suspendedFleet paused (billing or admin action)

Provisioning log steps

StepDescription
vm_createGCP VM provisioned in the target zone
workspace_bootstrapAgent workspace directories created, repos cloned
agent_configAGENTS.md, SOUL.md, and workspace files written
gateway_startOpenClaw gateway process started and health-checked
connectivity_checkDiscord and Mission Control connectivity verified
completeFleet 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