---
title: "ApprovalRequest"
description: "a request the server raises when the permission check's verdict is propose: the action, its inverse, the verdict and the reason; the turn waits for the client's answer"
section: concepts
address: /concepts/approvalrequest
contract: 0476e35e6e275db5
---

# ApprovalRequest

a request the server raises when the permission check's verdict is propose: the action, its inverse, the verdict and the reason; the turn waits for the client's answer

[figure: ApprovalRequest is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | harness |



## Fields


| field | type | required | note |
|---|---|---|---|
| `id` | `id` | yes |  |
| `action` | `text` | yes |  |
| `inverse` | `text` | no |  |
| `verdict` | [PermissionAnswer](/concepts/permissionanswer) | yes |  |
| `reason` | `text` | yes |  |
| `answer` | `one of allow \| deny \| allow-for-session` | no |  |
| `answered_by` | [Caller](/concepts/caller) | no |  |



## Routes that use it
No route takes or returns ApprovalRequest directly. The record holds it, and the objects that point at it reach it.
