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
| Parameter | Type | Required | Description |
|---|---|---|---|
workloadType | string | Yes | Pool: general, ai, mcp, user-addons, user-workspaces, user-jobs, or user-apps |
Request Body
{
"enabled": true,
"count": 2,
"instanceCategory": "m",
"instanceSize": "large"
}
| Field | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Yes | Turn the override on or off |
count | number | Yes | 1-5 |
instanceCategory | string | Yes | Instance family the pool offers (m, c, g, etc.) |
instanceSize | string | Yes | Node 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
| Parameter | Type | Required | Description |
|---|---|---|---|
workloadType | string | Yes | Pool: general, ai, mcp, user-addons, user-workspaces, user-jobs, or user-apps |
Response 204 No Content