Find Approvals
Search for approvals associated with a user. Filter by state, date range, entitlement, or request details.
GET https://instance.securid.com/aveksa/command.submit?cmd=findApprovals
note
When using a trusted application token, auth-user-id is required to specify the user whose approvals to search. When using a user token from loginUser, auth-user-id is not applicable. The state and sort parameter values are case-sensitive and must be lowercase.
caution
Invalid auth-user-id values return 401 The token is invalid or expired rather than a meaningful user-not-found error. Invalid sort values are silently ignored and fall back to asc.
Request
Parameters
| findApprovals | |
| format | xml - (Default) Returns the response as XML.json - Returns the response as JSON. |
| auth-user-id | The ID of the user whose approvals to search. Required when using a trusted application token. Not applicable for user tokens. |
| approval-id | The ID of a specific approval, in id:WPDS:n format. Returns a single approval object when matched. |
| state | The approval state to filter by. Valid values: pending completed all. (Default) pending |
| sort | Sort results by due date. Valid values: asc desc. (Default) asc. Values are case-sensitive. |
| page-size | Number of approvals per page. (Default) 20 |
| start-page | Starting page number. (Default) 1 |
| user-id | Filter by the ID of the user who placed the request. |
| user-first-name | Filter by the first name of the user who placed the request. |
| user-last-name | Filter by the last name of the user who placed the request. |
| business-source | Filter by the business source of the request. |
| entitlement-name | Filter by the name of the entitlement in the request. |
| entitlement-type | Filter by the type of the entitlement in the request. |
| requested-after | Lower bound for the request date. Format: dd-mmm-yyyy (e.g. 01-jan-2025). |
| requested-before | Upper bound for the request date. Format: dd-mmm-yyyy (e.g. 31-dec-2025). |
| due-after | Lower bound for the due date. Format: dd-mmm-yyyy (e.g. 01-jan-2025). |
| due-before | Upper bound for the due date. Format: dd-mmm-yyyy (e.g. 31-dec-2025). |
| completed-after | Lower bound for the completion date. Format: dd-mmm-yyyy (e.g. 01-jan-2025). |
| completed-before | Upper bound for the completion date. Format: dd-mmm-yyyy (e.g. 31-dec-2025). |
Headers
Bearer token |
Response
Parameters
NumApprovals | Total number of matching approvals. |
Approval | Absent when no approvals are returned. A single object when 1 approval is returned. An array of objects when multiple approvals are returned. |
Approval.WorkItemId | Unique identifier of the approval work item, in id:WPDS:n format. |
Approval.WorkItemName | Display name of the approval step. |
Approval.RequestName | Name of the change request this approval belongs to. |
Approval.WorkItemDueDate | Due date and time of the approval. |
Approval.WorkItemCompletedDate | Date and time the approval was completed. Empty string if not yet completed. |
Examples
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findApprovals&format=json&auth-user-id=jsmith&state=all" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findApprovals",
"format": "json",
"auth-user-id": "jsmith",
"state": "all"
}
headers = {
'Authorization': 'Bearer <token>'
}
response = requests.get(url, params=params, headers=headers)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code {response.status_code}")
const axios = require('axios');
const url = "https://instance.securid.com/aveksa/command.submit";
const params = {
cmd: "findApprovals",
format: "json",
"auth-user-id": "jsmith",
state: "all"
};
const headers = {
'Authorization': 'Bearer <token>'
};
axios.get(url, { params, headers })
.then(response => {
if (response.status === 200) {
console.log(response.data);
} else {
console.log(`Request failed with status code ${response.status}`);
}
})
.catch(error => {
console.error('Error:', error);
});
Response
- 200 Multiple Results
- 200 Single Result
- 200 No Results
- 401 Invalid Token
- 401 Invalid User
- 412 Missing auth-user-id
{
"findApprovals": {
"Approval": [
{
"WorkItemName": "Asset Business Owner Approval",
"WorkItemId": "1001:WPDS:1",
"RequestName": "00001",
"WorkItemCompletedDate": "2025-12-10 10:03:10.0",
"WorkItemDueDate": "2025-12-15 10:02:40.0"
},
{
"WorkItemName": "Asset Business Owner Approval",
"WorkItemId": "1002:WPDS:1",
"RequestName": "00002",
"WorkItemCompletedDate": "",
"WorkItemDueDate": "2026-01-15 10:00:00.0"
}
],
"NumApprovals": 2
}
}
{
"findApprovals": {
"Approval": {
"WorkItemName": "Asset Business Owner Approval",
"WorkItemId": "1001:WPDS:1",
"RequestName": "00001",
"WorkItemCompletedDate": "2025-12-10 10:03:10.0",
"WorkItemDueDate": "2025-12-15 10:02:40.0"
},
"NumApprovals": 1
}
}
{
"findApprovals": {
"NumApprovals": 0
}
}
<html>
<head>
<title>Error</title>
</head>
<body>The token is not valid for the command 'findApprovals'. Token is invalid or expired</body>
</html>
<html>
<head>
<title>Error</title>
</head>
<body>The token is invalid or expired
Query String=cmd=findApprovals&format=json&auth-user-id=jsmith&state=all</body>
</html>
<html>
<head>
<title>Error</title>
</head>
<body>The parameter auth-user-id is required.
Query String=cmd=findApprovals&format=json</body>
</html>
Verified with RSA Governance & Lifecycle version 8.0.0.188886 P10_HF01.
See Also
- Get Approval Details: Retrieve full details for a specific approval
- Perform Approval: Accept or reject an approval
- Get Approvals for User: Alternate command for retrieving approvals