Skip to main content

API Endpoints

The API server listens on :8443 with TLS. Authenticated endpoints require either HMAC-signed requests or a JWT bearer token.

Unauthenticated

MethodPathDescription
GET/healthzHealth check
GET/v1/versionAPI version
POST/v1/bootstrapCreate initial admin user
POST/v1/iam/loginLogin with username/password (returns JWT)
GET/v1/caDownload CA certificate (auto-generated certs only)
GET/v1/agent/binaryDownload agent binary

Internal (mTLS only)

Used by agents. Requires mutual TLS with a valid client certificate.

MethodPathDescription
POST/v1/internal/heartbeatAgent heartbeat
GET/v1/internal/tasks/{nodeId}Poll pending tasks
POST/v1/internal/tasks/{taskId}/resultReport task result

Nodes

MethodPathDescription
POST/v1/nodesCreate node
GET/v1/nodesList nodes
GET/v1/nodes/{id}Get node
PATCH/v1/nodes/{id}Update node name
POST/v1/nodes/{id}/drainDrain node
DELETE/v1/nodes/{id}Delete node
POST/v1/nodes/{id}/certIssue client certificate
POST/v1/nodes/{id}/cert/revokeRevoke certificates

Swarm Groups

MethodPathDescription
POST/v1/swarmsCreate swarm group
GET/v1/swarmsList swarms
GET/v1/swarms/{id}Get swarm
POST/v1/swarms/{id}/joinAdd node to swarm
POST/v1/swarms/{id}/leaveRemove node from swarm
DELETE/v1/swarms/{id}Delete swarm
GET/v1/swarms/{id}/membersList swarm members
POST/v1/swarms/{id}/lbDeploy load balancer
DELETE/v1/swarms/{id}/lbRemove load balancer

Compute

MethodPathDescription
POST/v1/compute/instancesCreate instance
GET/v1/compute/instancesList instances
GET/v1/compute/instances/{id}Get instance
DELETE/v1/compute/instances/{id}Terminate instance
POST/v1/compute/instances/{id}/stopStop instance
POST/v1/compute/instances/{id}/startStart instance
POST/v1/compute/instances/{id}/scaleScale replicas
POST/v1/compute/instances/{id}/volumesAttach volume
DELETE/v1/compute/instances/{id}/volumes/{volumeId}Detach volume
GET/v1/compute/instance-typesList instance types

Kubernetes (K3s)

MethodPathDescription
POST/v1/kubernetes/clustersCreate cluster
GET/v1/kubernetes/clustersList clusters
GET/v1/kubernetes/clusters/{id}Get cluster
DELETE/v1/kubernetes/clusters/{id}Delete cluster
GET/v1/kubernetes/clusters/{id}/kubeconfigGet kubeconfig
POST/v1/kubernetes/clusters/{id}/nodesAdd worker node
GET/v1/kubernetes/clusters/{id}/nodesList cluster nodes
DELETE/v1/kubernetes/clusters/{id}/nodes/{nodeId}Remove worker node
POST/v1/kubernetes/clusters/{id}/volumesAttach NFS volume (PV+PVC)
DELETE/v1/kubernetes/clusters/{id}/volumes/{volumeId}Detach NFS volume

Volumes (NFS)

MethodPathDescription
POST/v1/volumesCreate volume
GET/v1/volumesList volumes
GET/v1/volumes/{id}Get volume
DELETE/v1/volumes/{id}Delete volume

S3 (MinIO)

MethodPathDescription
POST/v1/s3/instancesDeploy MinIO instance
GET/v1/s3/instancesList instances
DELETE/v1/s3/instances/{id}Delete instance

Services

MethodPathDescription
POST/v1/servicesDeploy compose stack
GET/v1/servicesList services
GET/v1/services/{id}Get service
DELETE/v1/services/{id}Remove service

Gateway / Load Balancer

MethodPathDescription
GET/v1/gatewayGateway status + routing table
GET/v1/loadbalancersList load balancers
GET/v1/loadbalancers/{id}Get load balancer

Tags

MethodPathDescription
PUT/v1/tagsSet a tag on a resource
GET/v1/tagsList resource IDs by tag
DELETE/v1/tagsDelete a tag

IAM

MethodPathDescription
POST/v1/iam/usersCreate user
POST/v1/iam/users/{id}/keysGenerate API key pair
DELETE/v1/iam/users/{id}/keys/{keyId}Delete API key
POST/v1/iam/tokenGet token (HMAC-authenticated)
POST/v1/iam/users/{id}/passwordSet password

Cleanup

MethodPathDescription
POST/v1/cleanup/{resourceType}/{resourceId}Force-clean stuck resources