Admiral
Clusters

Create a cluster

POST
/api/v1/clusters

The response includes a plain_text_token -- the raw SAT secret shown exactly once. Deploy this token to the K8s agent (e.g., via Helm values or a Kubernetes Secret). The agent uses it to authenticate with AgentAPI.RegisterAgent on first boot.

Scope: cluster:write

Authorization

bearerAuth
AuthorizationBearer <token>

Personal Access Token (PAT) or Service Access Token (SAT). Pass the token in the Authorization header: Bearer adm_pat_...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://admiral.example.com/api/v1/clusters" \  -H "Content-Type: application/json" \  -d '{}'
{  "cluster": {    "id": "c3d4e5f6-7890-1abc-def0-abcdef012345",    "name": "prod-us-east-1",    "description": "Primary production cluster serving US East traffic.",    "labels": {      "region": "us-east-1",      "cloud": "aws",      "tier": "production"    },    "cluster_uid": "kube-system-uid-9f8e7d6c",    "health_status": "CLUSTER_HEALTH_STATUS_HEALTHY",    "created_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "updated_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "created_at": "2025-06-10T08:00:00Z",    "updated_at": "2025-11-20T16:45:00Z"  },  "plain_text_token": "string"}