HomeGuidesRecipesAPI ExplorerForumSupport
Partner Portal
Partner Portal

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: 2024-01-31' \
     -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 and GET /payables/{payable_id}. The approval policy ID is stored in the approval_policy_id 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: 2024-01-31' \
     -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"
      ],
      "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.