# client.gate_policies.versions

> client.gate_policies.versions — the gatePolicies.versions operations.

`client.gate_policies.versions` — the `gatePolicies.versions` operations.

On `AsyncKindgi` every method is the same, awaited.

## `client.gate_policies.versions.list()`

```python signature
list(policy_id: str | UUID, /, *, timeout: float | None = None) -> GatePolicyPage
```

List a gate policy's versions. `GET /v1/gate-policies/{policyId}/versions`

Every version, oldest first, unregistered ones too (with `unregisteredAt`).

## `client.gate_policies.versions.get()`

```python signature
get(
    policy_id: str | UUID,
    version: str,
    /,
    *,
    timeout: float | None = None,
) -> GatePolicy
```

Get a gate policy version. `GET /v1/gate-policies/{policyId}/versions/{version}`

## `client.gate_policies.versions.unregister()`

```python signature
unregister(
    policy_id: str | UUID,
    version: str,
    /,
    *,
    timeout: float | None = None,
) -> GatePolicy
```

Unregister a gate policy version. `POST /v1/gate-policies/{policyId}/versions/{version}/unregister`

The version stops applying; the policy's latest remaining active version applies, or, with none, the scope above's policy. Promotions keep the version they were checked against. Needs `admin` on the tenant.

## `client.gate_policies.versions.reinstate()`

```python signature
reinstate(
    policy_id: str | UUID,
    version: str,
    /,
    *,
    timeout: float | None = None,
) -> GatePolicy
```

Reinstate a gate policy version. `POST /v1/gate-policies/{policyId}/versions/{version}/reinstate`

Needs `admin` on the tenant.
