Approval requests
A request to run a governed procedure when the user lacks the required role.
- API name:
procedurerequests - Domain: Access and approvals
- Modules: Sales, Purchasing
Fields
The API name is what the API, MCP and the CLI use.
| Name | API name | Type | Required | Description |
|---|---|---|---|---|
| ID | id | Record ID | Yes | |
| Number | uid | Text | Yes | The number is a human-readable, unique identifier for the record. |
| User | userId | User | Yes | |
| Policy | procedurepolicyId | Reference | ||
| Role | roleId | Reference | Yes | |
| Requirement | requirement | Text | Yes | Approval tier requested for this operation. |
| Amount | amount | Currency | Monetary amount in the applicable currency for this record. | |
| Quote currency | currency | Constant | Value from the table catalog for this field. | |
| Record | tableUid | Constant | Yes | Business table this row points to. |
| Procedure | procedure | Constant | Yes | The table procedure this rule applies to. |
| Record ID | recordId | Text | Yes | |
| Payload | payload | JSON | Yes | The procedure input captured for approval. |
| Comment | comment | Text Area | Optional note for the reviewer. | |
| Status | status | Constant | Yes | Lifecycle or processing state from the allowed values for this record. |
| Record updated at | recordUpdatedAt | Date and Time | Yes | Version of the record when the request was made. |
| Created by | createdBy | User | ||
| Created at | createdAt | Date and Time | Yes | |
| Executed by | processedBy | User | ||
| Executed at | processedAt | Date and Time | ||
| Approved by | approvedBy | User | ||
| Approved at | approvedAt | Date and Time | ||
| Rejected by | rejectedBy | User | ||
| Rejected at | rejectedAt | Date and Time | ||
| Canceled by | canceledBy | User | ||
| Canceled at | canceledAt | Date and Time | ||
| Superseded at | supersededAt | Date and Time | ||
| Blocked by | blockedBy | User | ||
| Blocked at | blockedAt | Date and Time | ||
| Archived by | archivedBy | User | ||
| Archived at | archivedAt | Date and Time |
Relations
Owned records (solid line) are deleted with their owner. Grouped records (dashed line) can exist alone.
| Field | Points to | Kind |
|---|---|---|
User userId | Users | reference |
Policy procedurepolicyId | Approval policies | reference |
Role roleId | Roles | reference |
Actions
What you can do with a record. Every action also sends the webhook event procedurerequests.<action>. Reads (find, get, count) work on every table.
| Name | API name | Description | Where |
|---|---|---|---|
| Cancel | cancel | Reverse the posted effect of this request. | App · WebMCP · API · CLI |
States
How a record moves from state to state. Archive and block can happen in any state.
Events
Moments the record reaches on its own. Subscribe to them with a webhook.
| Name | Webhook event | Description |
|---|---|---|
| Approval requested | procedurerequests.pending | A procedure run needs approver action. |