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

# Approval

> A human's grant, bound to one `action_hash` (SPEC-v0.1 §4.1).

`ctrlrun.Approval` — class, defined at `src/ctrlrun/approval.py:111`

```python theme={null}
from ctrlrun import Approval
```

```python theme={null}
class Approval
    def __init__(approval_id: str, action_hash: str, approver: str, granted_at: datetime, expires_at: datetime)
```

A human's grant, bound to one `action_hash` (SPEC-v0.1 §4.1).

`approval_id == request_id` in v0.1: a request produces at most one approval.

## Next

* [Python API index](/docs/reference/api/index).
* [Get started](/docs/get-started/quickstart) · [Why](/docs/why).


## Related topics

- [Approval binding](/docs/concepts/approval-binding.md)
- [with_approval](/docs/reference/api/with_approval.md)
- [needs_approval](/docs/reference/api/needs_approval.md)
- [ApprovalMismatch](/docs/reference/api/ApprovalMismatch.md)
- [ApprovalTimeout](/docs/reference/api/ApprovalTimeout.md)
