Skip to main content

Compute

Configure the node-size (bin-packing) override of a workload pool (general, ai, mcp, user-addons, user-workspaces, user-jobs, user-apps). The override pins the pool's nodes to one instance family and size, or larger up to the pool's maximum node size, so workloads pack onto fewer, larger nodes. Nothing is provisioned ahead of time. The maximum node size itself is set on the Compute page.

All endpoints require authentication via X-API-Key header and the appropriate scope.


Pre-Warmed Config Object​

{
"general": {
"_id": "pw_abc123",
"organizationId": "org_xyz",
"workloadType": "general",
"enabled": true,
"count": 2,
"instanceCategory": "m",
"instanceSize": "large",
"updatedBy": "user_456",
"updatedAt": "2025-02-01T14:22:00Z"
},
"ai": {
"organizationId": "org_xyz",
"workloadType": "ai",
"enabled": false,
"count": 1,
"instanceCategory": "g",
"instanceSize": "large"
},
"mcp": {
"organizationId": "org_xyz",
"workloadType": "mcp",
"enabled": false,
"count": 1,
"instanceCategory": "m",
"instanceSize": "large"
},
"user-addons": {
"organizationId": "org_xyz",
"workloadType": "user-addons",
"enabled": false,
"count": 1,
"instanceCategory": "t",
"instanceSize": "large"
},
"user-workspaces": {
"organizationId": "org_xyz",
"workloadType": "user-workspaces",
"enabled": false,
"count": 1,
"instanceCategory": "m",
"instanceSize": "large"
},
"user-jobs": {
"organizationId": "org_xyz",
"workloadType": "user-jobs",
"enabled": false,
"count": 1,
"instanceCategory": "c",
"instanceSize": "large"
},
"user-apps": {
"organizationId": "org_xyz",
"workloadType": "user-apps",
"enabled": false,
"count": 1,
"instanceCategory": "m",
"instanceSize": "large"
}
}

The object has one entry per pool, keyed by pool. A pool whose override has never been set shows its defaults (enabled: false, count: 1, the pool's default instance family, size large); a saved override also carries _id, updatedBy, updatedAt and createdAt.


GET /api/v1/compute/warm-pools​

Get pre-warmed node configurations for all workload types.

Scope: compute:read

Response 200 OK

Returns the full Pre-Warmed Config object.


PUT /api/v1/compute/warm-pools/:workloadType​

Turn a pool's node-size override on (pin instanceCategory at instanceSize, or larger up to the pool's maximum node size) or off (enabled: false puts back the pool's saved sizes and families).

Scope: compute:write

Path Parameters

ParameterTypeRequiredDescription
workloadTypestringYesPool: general, ai, mcp, user-addons, user-workspaces, user-jobs, or user-apps

Request Body

{
"enabled": true,
"count": 2,
"instanceCategory": "m",
"instanceSize": "large"
}
FieldTypeRequiredDescription
enabledbooleanYesTurn the override on or off
countnumberYes1-5
instanceCategorystringYesInstance family the pool offers (m, c, g, etc.)
instanceSizestringYesNode size from the pool's smallest up to its maximum node size (ladder: small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 12xlarge, 16xlarge, 24xlarge, 32xlarge, 48xlarge, 96xlarge). A size above the maximum is refused

Response 200 OK​

The pool's override as saved, as GET /compute/warm-pools shows it.

{
"data": {
"_id": "p1",
"organizationId": "org-a",
"workloadType": "ai",
"enabled": true,
"count": 2,
"instanceCategory": "g",
"instanceSize": "xlarge"
},
"meta": { "requestId": "..." }
}

DELETE /api/v1/compute/warm-pools/:workloadType​

Turn a pool's node-size override off: the pool gets back the sizes and families saved for it on the Compute page, within its maximum node size.

Scope: compute:write

Path Parameters

ParameterTypeRequiredDescription
workloadTypestringYesPool: general, ai, mcp, user-addons, user-workspaces, user-jobs, or user-apps

Response 204 No Content