> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesynth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ContainerPoolsClient

# `synth_ai.sdk.pools`

Python-only container pools SDK.

Access via `SynthClient().pools`. Nested namespaces: `rollouts`, `tasks`, `metrics`, `agent_rollouts`.

## Functions

### `validate_pool_rollout_request`

```python theme={null}
validate_pool_rollout_request(request: dict[str, Any]) -> None
```

Reject rollout payloads with non-canonical keys.

## Classes

### `PoolTarget`

Deployment target substrate for a pool.

### `ContainerPoolsClient`

Manage container pools, tasks, rollouts, and metrics.

**Methods:**

#### `raw`

```python theme={null}
raw(self) -> ContainerPoolsClient
```

Return `self` for advanced raw HTTP access.

#### `create_pool`

```python theme={null}
create_pool(self, request: dict[str, Any]) -> dict[str, Any]
```

Create a container pool.

#### `create`

```python theme={null}
create(self, request: dict[str, Any]) -> dict[str, Any]
```

Create a container pool (alias for `create_pool`).

#### `list_pools`

```python theme={null}
list_pools(self) -> dict[str, Any]
```

List container pools with optional cursor pagination.

#### `list`

```python theme={null}
list(self) -> dict[str, Any]
```

List container pools (alias for `list_pools`).

#### `get_pool`

```python theme={null}
get_pool(self, pool_id: str) -> dict[str, Any]
```

Retrieve a pool by id.

#### `get`

```python theme={null}
get(self, pool_id: str) -> dict[str, Any]
```

Retrieve a pool by id (alias for `get_pool`).

#### `replace_pool`

```python theme={null}
replace_pool(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Replace a pool definition.

#### `replace`

```python theme={null}
replace(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Replace a pool definition (alias for `replace_pool`).

#### `update_pool`

```python theme={null}
update_pool(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Patch-update a pool definition.

#### `update`

```python theme={null}
update(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Patch-update a pool (alias for `update_pool`).

#### `delete_pool`

```python theme={null}
delete_pool(self, pool_id: str) -> dict[str, Any]
```

Delete a pool by id.

#### `delete`

```python theme={null}
delete(self, pool_id: str) -> dict[str, Any]
```

Delete a pool by id (alias for `delete_pool`).

#### `get_pool_urls`

```python theme={null}
get_pool_urls(self, pool_id: str) -> dict[str, Any]
```

Return rollout URLs for a pool.

#### `get_urls`

```python theme={null}
get_urls(self, pool_id: str) -> dict[str, Any]
```

Return rollout URLs (alias for `get_pool_urls`).

#### `get_pool_metrics`

```python theme={null}
get_pool_metrics(self, pool_id: str) -> dict[str, Any]
```

Return utilization metrics for a pool.

#### `list_tasks`

```python theme={null}
list_tasks(self, pool_id: str) -> dict[str, Any]
```

List tasks configured on a pool.

#### `create_task`

```python theme={null}
create_task(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Create a task on a pool.

#### `update_task`

```python theme={null}
update_task(self, pool_id: str, task_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Replace a pool task definition.

#### `patch_task`

```python theme={null}
patch_task(self, pool_id: str, task_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Patch-update a pool task.

#### `delete_task`

```python theme={null}
delete_task(self, pool_id: str, task_id: str) -> dict[str, Any]
```

Delete a pool task.

#### `create_rollout`

```python theme={null}
create_rollout(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Start a rollout on a pool.

#### `get_rollout`

```python theme={null}
get_rollout(self, pool_id: str, rollout_id: str) -> dict[str, Any]
```

Fetch rollout state for a pool.

#### `list_rollouts`

```python theme={null}
list_rollouts(self, pool_id: str) -> dict[str, Any]
```

List rollouts for a pool.

#### `cancel_rollout`

```python theme={null}
cancel_rollout(self, pool_id: str, rollout_id: str) -> dict[str, Any]
```

Cancel an in-flight pool rollout.

#### `get_rollout_artifacts`

```python theme={null}
get_rollout_artifacts(self, pool_id: str, rollout_id: str) -> dict[str, Any]
```

List artifacts produced by a pool rollout.

#### `get_rollout_usage`

```python theme={null}
get_rollout_usage(self, pool_id: str, rollout_id: str) -> dict[str, Any]
```

Return usage totals for a pool rollout.

#### `get_rollout_summary`

```python theme={null}
get_rollout_summary(self, pool_id: str, rollout_id: str) -> dict[str, Any]
```

Return a summary document for a pool rollout.

#### `stream_rollout_events`

```python theme={null}
stream_rollout_events(self, pool_id: str, rollout_id: str) -> Iterator[dict[str, Any]]
```

Stream rollout events for a pool.

#### `create_global_rollout`

```python theme={null}
create_global_rollout(self, request: dict[str, Any]) -> dict[str, Any]
```

Start a global (non-pool-scoped) rollout.

#### `list_global_rollouts`

```python theme={null}
list_global_rollouts(self) -> dict[str, Any]
```

List global rollouts.

#### `get_global_rollout`

```python theme={null}
get_global_rollout(self, rollout_id: str) -> dict[str, Any]
```

Fetch a global rollout by id.

#### `cancel_global_rollout`

```python theme={null}
cancel_global_rollout(self, rollout_id: str) -> dict[str, Any]
```

Cancel a global rollout.

#### `get_global_rollout_artifacts`

```python theme={null}
get_global_rollout_artifacts(self, rollout_id: str) -> dict[str, Any]
```

List artifacts for a global rollout.

#### `get_global_rollout_usage`

```python theme={null}
get_global_rollout_usage(self, rollout_id: str) -> dict[str, Any]
```

Return usage totals for a global rollout.

#### `get_global_rollout_summary`

```python theme={null}
get_global_rollout_summary(self, rollout_id: str) -> dict[str, Any]
```

Return a summary for a global rollout.

#### `stream_global_rollout_events`

```python theme={null}
stream_global_rollout_events(self, rollout_id: str) -> Iterator[dict[str, Any]]
```

Stream events for a global rollout.

#### `get_pool_container_health`

```python theme={null}
get_pool_container_health(self, pool_id: str) -> dict[str, Any]
```

Return container health for a pool.

#### `get_task_container_health`

```python theme={null}
get_task_container_health(self, pool_id: str, task_id: str) -> dict[str, Any]
```

Return container health for a pool task.

#### `get_pool_container_info`

```python theme={null}
get_pool_container_info(self, pool_id: str) -> dict[str, Any]
```

Return container info for a pool.

#### `get_task_container_info`

```python theme={null}
get_task_container_info(self, pool_id: str, task_id: str) -> dict[str, Any]
```

Return container info for a pool task.

#### `get_pool_container_metadata`

```python theme={null}
get_pool_container_metadata(self, pool_id: str) -> dict[str, Any]
```

Return container metadata for a pool.

#### `get_task_container_metadata`

```python theme={null}
get_task_container_metadata(self, pool_id: str, task_id: str) -> dict[str, Any]
```

Return container metadata for a pool task.

#### `execute_pool_container_rollout`

```python theme={null}
execute_pool_container_rollout(self, pool_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Execute a one-off container rollout on a pool.

#### `execute_task_container_rollout`

```python theme={null}
execute_task_container_rollout(self, pool_id: str, task_id: str, request: dict[str, Any]) -> dict[str, Any]
```

Execute a container rollout for a specific task.

#### `get_queue_status`

```python theme={null}
get_queue_status(self) -> dict[str, Any]
```

Return global queue saturation status.

#### `get_capabilities`

```python theme={null}
get_capabilities(self) -> dict[str, Any]
```

Return backend capability flags for pools.

### `AsyncContainerPoolsClient`

Async adapter over `ContainerPoolsClient`.
