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

# worker_channel

# `prefect.client.schemas.worker_channel`

Shared v1 worker-channel protocol contract.

## Functions

### `validate_worker_channel_frame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L521](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L521)</sup>

```python theme={null}
validate_worker_channel_frame(frame: Any) -> WorkerChannelApplicationFrame
```

### `select_worker_channel_version` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L525](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L525)</sup>

```python theme={null}
select_worker_channel_version(supported_versions: Iterable[str]) -> WorkerChannelVersion
```

## Classes

### `WorkerChannelCloseReason` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L100](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L100)</sup>

### `WorkerChannelClosePolicy` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L109](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L109)</sup>

**Methods:**

#### `model_validate_list` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L56](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56)</sup>

```python theme={null}
model_validate_list(cls, obj: Any) -> list[Self]
```

#### `reset_fields` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L85](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85)</sup>

```python theme={null}
reset_fields(self: Self) -> Self
```

Reset the fields of the model that are in the `_reset_fields` set.

**Returns:**

* A new instance of the model with the reset fields.

### `WorkerChannelProtocolError` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L160](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L160)</sup>

### `WorkerChannelContract` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L166](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L166)</sup>

**Methods:**

#### `model_validate_list` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L56](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56)</sup>

```python theme={null}
model_validate_list(cls, obj: Any) -> list[Self]
```

#### `reset_fields` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L85](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85)</sup>

```python theme={null}
reset_fields(self: Self) -> Self
```

Reset the fields of the model that are in the `_reset_fields` set.

**Returns:**

* A new instance of the model with the reset fields.

### `WorkerChannelAuthRequest` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L211](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L211)</sup>

### `WorkerChannelAuthSuccess` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L216](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L216)</sup>

### `WorkerChannelFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L220](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L220)</sup>

### `WorkerHelloPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L226](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L226)</sup>

**Methods:**

#### `default_cleanup_concurrency` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L242](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L242)</sup>

```python theme={null}
default_cleanup_concurrency(cls, data: Any) -> Any
```

#### `required_capabilities_are_requested` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L270](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L270)</sup>

```python theme={null}
required_capabilities_are_requested(self) -> WorkerHelloPayload
```

### `WorkerHelloFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L289](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L289)</sup>

### `ResolvedWorkQueue` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L294](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L294)</sup>

### `WorkPoolSnapshot` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L299](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L299)</sup>

**Methods:**

#### `helpful_error_for_missing_default_queue_id` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1625](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1625)</sup>

```python theme={null}
helpful_error_for_missing_default_queue_id(cls, v: Optional[UUID]) -> UUID
```

#### `is_managed_pool` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1620](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1620)</sup>

```python theme={null}
is_managed_pool(self) -> bool
```

#### `is_push_pool` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1616](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/objects.py#L1616)</sup>

```python theme={null}
is_push_pool(self) -> bool
```

### `WorkPoolSnapshotPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L307](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L307)</sup>

### `WorkerReadyPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L313](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L313)</sup>

**Methods:**

#### `validate_capability_decision` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L325](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L325)</sup>

```python theme={null}
validate_capability_decision(self) -> WorkerReadyPayload
```

### `WorkerReadyFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L372](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L372)</sup>

### `WorkerHeartbeatPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L377](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L377)</sup>

### `WorkerHeartbeatFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L383](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L383)</sup>

### `WorkPoolSnapshotFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L388](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L388)</sup>

### `CancellingTimeoutTeardownTarget` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L393](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L393)</sup>

**Methods:**

#### `model_validate_list` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L56](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56)</sup>

```python theme={null}
model_validate_list(cls, obj: Any) -> list[Self]
```

#### `reset_fields` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L85](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85)</sup>

```python theme={null}
reset_fields(self: Self) -> Self
```

Reset the fields of the model that are in the `_reset_fields` set.

**Returns:**

* A new instance of the model with the reset fields.

### `PendingClaimTeardownTarget` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L400](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L400)</sup>

**Methods:**

#### `model_validate_list` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L56](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56)</sup>

```python theme={null}
model_validate_list(cls, obj: Any) -> list[Self]
```

#### `reset_fields` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/\_internal/schemas/bases.py#L85](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85)</sup>

```python theme={null}
reset_fields(self: Self) -> Self
```

Reset the fields of the model that are in the `_reset_fields` set.

**Returns:**

* A new instance of the model with the reset fields.

### `CancellingTimeoutCleanupMessagePayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L418](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L418)</sup>

### `PendingClaimCleanupMessagePayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L423](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L423)</sup>

### `CleanupMessageFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L434](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L434)</sup>

### `CleanupOperationPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L439](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L439)</sup>

### `CleanupReleasePayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L444](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L444)</sup>

### `CleanupAckFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L448](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L448)</sup>

### `CleanupReleaseFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L453](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L453)</sup>

### `CleanupRenewFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L458](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L458)</sup>

### `CleanupOperationResultPayload` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L463](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L463)</sup>

**Methods:**

#### `validate_result_contract` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L473](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L473)</sup>

```python theme={null}
validate_result_contract(self) -> CleanupOperationResultPayload
```

### `CleanupOperationResultFrame` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker\_channel.py#L496](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/schemas/worker_channel.py#L496)</sup>
