Skip to main content
POST
Create cluster

Authorizations

Authorization
string
header
required

workspace API token (sk_akua_...) or OAuth2 JWT. Create tokens at https://akua.dev/developers/api-tokens

Headers

akua-context
string

Optional workspace/scope context for the request. Carries a single workspace wire id (ws_…) today. Only needed for broad tokens — a workspace-owned token implies its workspace.

Required string length: 1 - 53
Example:

"ws_j572abc123def456"

idempotency-key
string

Optional caller-supplied idempotency key. Any non-empty key up to 64 characters is accepted; repeated requests with the same key in the same workspace resolve consistently instead of creating a duplicate. When omitted, the server mints a key for this request.

Required string length: 1 - 64
Example:

"create-prod-2026-05-07"

Body

application/json
name
string
required

Display name for the cluster.

Required string length: 1 - 100
region_id
string
required
Required string length: 1 - 54
network_profile
enum<string>
default:linux_cilium

Immutable networking profile for managed KaaS clusters. Defaults to linux_cilium; Windows workers require mixed_os_calico.

Available options:
linux_cilium,
mixed_os_calico

Response

Cluster create operation accepted

id
string
required
Required string length: 1 - 53
workspace_id
string | null
required
Required string length: 1 - 53
organization_id
string | null
required
Required string length: 1 - 54
owner_type
enum<string>
required

Domain entity collection the operation acts on.

Available options:
install,
repository_change_request,
repository,
workspace,
machine,
cluster,
package
owner_id
string
required

Prefixed ID of the entity this operation acts on. Prefix matches owner_type (ws_, mch_, clu_, pkg_, inst_, rcr_, repo_).

parent_operation_id
string | null
required

ID of the chained parent operation, when present.

Required string length: 1 - 53
state
enum<string>
required

Lifecycle state. Past-participle terminal states per AIP-216.

Available options:
RUNNING,
SUCCEEDED,
FAILED,
CANCELLED
done
boolean
required

True iff state is a terminal value.

html_url
string<uri>
required

Deep link to the dashboard view of this operation's owning resource when available, otherwise the operation detail page.

Maximum string length: 2048
Example:

"https://akua.dev/installs/inst_j572abc123def456?tab=operations"

metadata
object
required
response
object
required

Populated only when done && state === "SUCCEEDED". Discriminated by type.

error
object | null
required

Populated when state is FAILED or CANCELLED.

last_error
object | null
required

Latest error from any failed step. Populated even mid-flight; cleared when the step succeeds on retry.

started_at
integer
required

Unix timestamp (seconds)

Required range: x >= 0
completed_at
integer | null
required

Unix timestamp (seconds)

Required range: x >= 0
steps
object[]