Pools

Sync a sandbox pool's spec from its source template

**DEPRECATED** — will be removed in a future version. Prefer `PUT /sandboxpools/{name}` with the specific fields you want to update (e.g. `overrides.image`, `replicas`) rather than re-reading the source template implicitly. Admin template updates via `PUT /admin/sandbox-templates/{name}` now propagate to pools automatically. Re-reads the pool's source SandboxTemplate (from templateName annotation) and patches the pool's EmbeddedSandboxTemplate fields. Does not change replicas.

POST
/sandboxpools/{name}/sync-template

DEPRECATED — will be removed in a future version.

Prefer PUT /sandboxpools/{name} with the specific fields you want to update (e.g. overrides.image, replicas) rather than re-reading the source template implicitly. Admin template updates via PUT /admin/sandbox-templates/{name} now propagate to pools automatically.

Re-reads the pool's source SandboxTemplate (from templateName annotation) and patches the pool's EmbeddedSandboxTemplate fields. Does not change replicas.

Authorization

ApiKeyAuth
AGENTBOX-API-KEY<token>

In: header

Path Parameters

name*string

SandboxPool name.

  • Single-cluster: a DNS-1123 label such as my-pool.
  • Cross-cluster: a {clusterID}::{poolName} composite such as cluster1::my-pool (double-colon separator). Discover valid cluster IDs via GET /clusters. Parsing reference: pkg/utils/cluster/parse.go::ParsePoolRef.

Note: the E2B-compatible API further extends this to {clusterID}::{poolName}//{imageOverride} for template strings; that form is only accepted on the E2B port, not on this native API.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://sandboxpools/my-pool/sync-template"
{  "template": {    "name": "poolname",    "namespace": "t-team-user",    "cpu": "1",    "memory": "16Gi",    "team": "team",    "user": "user",    "spec": {      "replicas": 2    },    "status": {      "phase": "Ready",      "idleReplicas": 1,      "unavailableIdleReplicas": 0,      "runningReplicas": 1,      "startingReplicas": 0,      "stoppingReplicas": 0,      "failedReplicas": 0    }  }}
{  "error": "string",  "errorCode": "API_KEY_REQUIRED",  "detail": null}
{  "error": "string",  "errorCode": "API_KEY_REQUIRED",  "detail": null}
{  "error": "string",  "errorCode": "API_KEY_REQUIRED",  "detail": null}