# client.release_gates.versions

> client.release_gates.versions — the releaseGates.versions operations.

`client.release_gates.versions` — the `releaseGates.versions` operations.

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

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

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

List a release gate's versions. `GET /v1/release-gates/{releaseGateId}/versions`

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

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

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

Get a release gate version. `GET /v1/release-gates/{releaseGateId}/versions/{version}`

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

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

Unregister a release gate version. `POST /v1/release-gates/{releaseGateId}/versions/{version}/unregister`

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

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

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

Reinstate a release gate version. `POST /v1/release-gates/{releaseGateId}/versions/{version}/reinstate`

Needs `admin` on the tenant.
