Get Approval Stage Detail
Retrieve the details of a single approval stage by its stage number, including all approvers and their individual decisions.
URL: GET /api/v1/approval/{id}/stage/{stage_number}
Example: GET http://172.16.15.185/api/v1/approval/118/stage/2
Path Variables
| Variable | Type | Description |
|---|---|---|
{id} | long | Approval ID. Must be greater than 0. |
{stage_number} | int | Stage number, 1-based. |
Request Headers
| Key | Description |
|---|---|
Authorization | Bearer token or API Key |
Content-Type | application/json |
Example Request
curl --location 'http://172.16.15.185/api/v1/approval/118/stage/2' \
--header 'Authorization: Apikey wGjCygm6LvI7J1LT%40HHW%2Bs0ighXw7TeP5biyBL1uvBkzRnKMidKLUsz%2FIHEIn9w%3D%3D'
Example Response (200 OK)
{
"stageNumber": 2,
"status": "pending",
"decisionRule": "unanimous",
"isActive": true,
"approvedCount": 0,
"rejectedCount": 0,
"pendingCount": 1,
"commentsCount": 0,
"approvers": [
{
"id": 211,
"displayName": "Adam",
"approvalStatus": "pending",
"decidedAt": 1786692992585
}
],
"hasMoreApprovers": false
}
Response Fields
The response returns a single stage object with the following fields.
| Field | Type | Description |
|---|---|---|
stageNumber | int | Stage number, 1-based. |
status | string | Stage status: pending, approved, or rejected. |
decisionRule | string | Decision rule for this stage: unanimous, majority, or any_one. |
isActive | boolean | true when this stage is currently awaiting decisions. |
approvedCount | int | Number of approvers who approved. |
rejectedCount | int | Number of approvers who rejected. |
pendingCount | int | Number of approvers yet to decide. |
commentsCount | int | Total number of comments on this stage. Retrieve comments using GET Stage Comments. |
approvers | array | List of approver objects. Capped at 100 per stage. |
hasMoreApprovers | boolean | true when the stage has more than 100 approvers. |
Approver Object
| Field | Type | Description |
|---|---|---|
id | long | Approver record ID. |
displayName | string | Name of the approver. |
approvalStatus | string | Individual approver status: pending, approved, or rejected. |
decidedAt | long, string, or null | Timestamp of the decision. null if the approver has not decided yet. |
Use This Endpoint for Large Approvals
When GET Approval Detail returns hasMoreStages: true or hasMoreApprovers: true, use this endpoint to drill into individual stages without loading the full approval payload.
Error Responses
| Scenario | HTTP Status | When It Occurs |
|---|---|---|
Invalid {id} (less than or equal to 0) | 400 Bad Request | A negative or zero approval ID was provided. |
| Stage not found | 400 Bad Request | No stage with the given stage_number exists on the approval. |
| Unauthorized | 401 Unauthorized | Session expired or no valid credentials were provided. |