# Approval request

The `ApprovalRequest` family — 5 operations.

An approval request is a register asking permission, live, for one action above the cashier’s own authority — a discount past the limit, voiding a transaction, approving a return, among the actions the platform gates. The action stays blocked until the request is decided, and a request lives for fifteen minutes. It records what was asked and on which order or return, the amount when there is one, who asked and why, the approver tier required, and — once decided — who decided, when, and their reason; it is filed under the till session it was asked from, or the store when no session was open. Requests are raised at the register, never here; a manager whose role tier meets the required tier approves or denies them here, and nobody can approve their own request. Approving does not perform the action: the cashier retries it at the register and the approval is used up by that one retry. A denied request can be asked afresh; an expired one lapses on its own; the requester can withdraw their own request.

## Operations

| Operation | Kind | What it does |
| --- | --- | --- |
| [approvalRequest](/reference/approval-request/approvalRequest/) | query | Look up one record — an approval request — asking a manager’s authority for an act above your limit. |
| [approvalRequests](/reference/approval-request/approvalRequests/) | query | The approval request list — each entry is an approval request — asking a manager’s authority for an act above your limit. |
| [approveApprovalRequest](/reference/approval-request/approveApprovalRequest/) | mutation | Grant a pending approval request — your authority unblocks the requester’s act. |
| [cancelApprovalRequest](/reference/approval-request/cancelApprovalRequest/) | mutation | Withdraw your own pending approval request. |
| [denyApprovalRequest](/reference/approval-request/denyApprovalRequest/) | mutation | Deny a pending approval request. |
