Processes and steps
Learn how the the instances of the approval policies work and how to track the approval requests sent to the users.
Overview
Whenever a new approval policy is created, or a payable is created or updated, Monite checks if there is a match between the approval policy and the payable.
If a payable matches some approval policies' trigger conditions, a new instance of the approval policy is created. This instance of approval policy applied to a payable is called a process.
Every process has approval steps, which are lists of all approval requests that will be created for a given process.
List all processes
To list all processes applied to a specific approval policy, call GET /approval_policies/{approval_policy_id}/processes
:
curl -X GET 'https://api.sandbox.monite.com/v1/approval_policies/{approval_policy_id}/processes' \
-H 'x-monite-version: 2023-03-14' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'accept: application/json' \
The successful response contains all the processes related to the provided approval policy:
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "succeeded",
"input": {},
"error": {},
"script_snapshot": true,
"metadata": {},
"created_at": "2023-04-05T19:09:35.111Z",
"updated_at": "2023-04-05T19:09:35.111Z",
"created_by": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"updated_by": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
You can also check which approval policy applies to which payable in the responses from
GET /payables
andGET /payables/{payable_id}
. The approval policy name is stored in theapplied_policy
field of the Payable object.
Steps
Approval steps, or just steps, contain the current state of all approval requests created for a given approval process and sent to the users. To check all the steps of a specific process, call GET /approval_policies/{approval_policy_id}/processes/{process_id}/steps
:
curl -X GET 'https://api.sandbox.monite.com/v1/approval_policies/{approval_policy_id}/processes/{process_id}/steps' \
-H 'x-monite-version: 2023-03-14' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'accept: application/json' \
The successful response contains the current status of all the steps required for a given approval policy:
{
"data": [
{
"object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"required_approval_count": 1,
"status": "approved",
"user_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"role_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"approved_by": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"rejected_by": null
}
]
}
Retrieve a process
To get information about a specific process, call GET /approval_policies/{approval_policy_id}/processes/{process_id}
.
Cancel a process
To cancel a specific process, call POST /approval_policies/{approval_policy_id}/processes/{process_id}/cancel
.
Updated about 2 months ago