Find Change Request Work Items
Find change request work items. The command uses the PV_CHANGE_REQUEST_WORK_ITEM public view to find data. Any filters passed should be passed on this public view.
GET https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems
Request
Parameters
| findChangeRequestWorkItems | |
| format | properties - (Default) Returns the response as key=value pairs. When multiple objects are returned, values are comma-delimited: key=value1,value2,value3.json - Returns the response as JSON.csv - Returns the response as comma-separated values.tsv - Returns the response as tab-separated values.xml - Returns the response as XML. |
| delimiter | The delimiter to use between values for csv and properties formats |
| returnColumns | The names of the columns to return. |
| returnMaxRows | The maximum number of objects to return |
| distinct | true, false Returns only distinct values, equivalent to the distinct keyword in SQL. |
| sortByColumns | The results will be sorted based on the columns listed using comma as the delimiter if multiple columns are specified. Refer to Columns table below. |
| sortDirection | Determines sorting order. asc for ascending, desc for descending. If not specified, the natural order returned by the database is used. |
| includeHeaderRow | true, false Include column headers when the return format is csv or tsv. (Default) true |
| ignoreCase | true, false Returns case-insensitive search results for specified filter parameters. (Default) false |
Filter Parameters
Any column listed in the Columns table can be passed as a filter parameter to narrow results. Filters are matched against the PV_CHANGE_REQUEST_WORK_ITEM public view.
Query logic
| Scenario | Behavior |
|---|---|
Two different parameters: work_state=Completed&change_request_id=102 | AND. Returns work items in the Completed state that belong to change request 102. |
Same parameter repeated: work_state=Completed&work_state=Canceled | OR within that field. Returns work items in either Completed or Canceled state. |
Mixed: change_request_id=102&work_state=Completed&work_state=Canceled | (change_request_id is 102) AND (work_state is Completed or Canceled) |
A single API call cannot return work items where work_state=Completed OR category_name=Change Request Approval. OR logic between different filter parameters is not supported.
Workaround: Make separate requests for each filter condition. Merge and deduplicate the results client-side.
Columns
| workitem_id | [Primary Key] Composite identifier for the work item in the format activity_instance_id:activity_instance_database:workflow_instance_iteration |
| workflow_instance_name | Name of the workflow step (e.g., Supervisor Approval, Manual Fulfillment) |
| complete_by | [Foreign Key referencing USERS.ID] User ID responsible for completing the work item. -1 indicates system-assigned. |
| category_name | Category of the work item (e.g., Change Request Approval, Change Request Activity) |
| change_request_id | [Foreign Key referencing CHANGE_REQUESTS.ID] The change request this work item belongs to |
| job_reference | Reference identifier for the job, typically matching the change request ID |
| activity_instance_id | ID of the activity instance within the workflow engine |
| activity_instance_database | Database identifier for the activity instance (e.g., WPDS) |
| workflow_instance_iteration | Iteration number of the workflow instance |
| process_instance_id | ID of the process instance associated with this work item |
| name | Display name of the work item |
| work_state | Current state of the work item (e.g., Completed, Canceled) |
| job_state_id | Numeric identifier for the job state |
| planned_time | Planned completion time in seconds |
| duration_type | Type of duration measurement used for this work item |
| accumulated_time | Time accumulated on the work item in seconds |
| available_date | Date and time the work item became available |
| open_date | Date and time the work item was opened |
| first_open_date | First date and time the work item was opened |
| complete_date | Date and time the work item was completed |
| last_modified_user_id | [Foreign Key referencing USERS.ID] User ID who last modified this record. -1 indicates system. |
| last_modified_date | Date and time of the last modification |
| completion_code | Numeric completion code for the work item |
| due_date | Date and time the work item is due |
| in_queue_time_value | Time the work item spent in the queue, expressed as fractional days |
| in_queue_time_hours | Queue time in whole hours |
| in_queue_time_days | Queue time in whole days |
| in_queue_time_text | Human-readable queue time (e.g., 0 days 2 hours) |
| open_time_value | Time the work item was open, expressed as fractional days |
| open_time_hours | Open time in whole hours |
| open_time_days | Open time in whole days |
| open_time_text | Human-readable open time |
| total_time_value | Total elapsed time from available to complete, expressed as fractional days |
| total_time_hours | Total elapsed time in whole hours |
| total_time_days | Total elapsed time in whole days |
| total_time_text | Human-readable total elapsed time |
| overdue_time_value | Amount of time the work item was overdue, expressed as fractional days. Empty if not overdue. |
| overdue_time_hours | Overdue time in whole hours |
| overdue_time_days | Overdue time in whole days |
| overdue_time_text | Human-readable overdue time |
| available_date_no_time | Available date with the time component set to midnight |
| available_date_year | Year component of the available date |
| available_date_month | Month number of the available date (1–12) |
| available_date_month_text | Full month name of the available date (e.g., March) |
| available_date_month_abv | Abbreviated month name of the available date (e.g., Mar) |
| available_date_day | Day of month for the available date |
| available_week_of_year | ISO week number for the available date |
| open_date_no_time | Open date with the time component set to midnight |
| open_date_year | Year component of the open date |
| open_date_month | Month number of the open date |
| open_date_month_text | Full month name of the open date |
| open_date_month_abv | Abbreviated month name of the open date |
| open_date_day | Day of month for the open date |
| open_week_of_year | ISO week number for the open date |
| first_open_date_no_time | First open date with the time component set to midnight |
| first_open_date_year | Year component of the first open date |
| first_open_date_month | Month number of the first open date |
| first_open_date_month_text | Full month name of the first open date |
| first_open_date_month_abv | Abbreviated month name of the first open date |
| first_open_date_day | Day of month for the first open date |
| first_open_week_of_year | ISO week number for the first open date |
| complete_date_no_time | Complete date with the time component set to midnight |
| complete_date_year | Year component of the complete date |
| complete_date_month | Month number of the complete date |
| complete_date_month_text | Full month name of the complete date |
| complete_date_month_abv | Abbreviated month name of the complete date |
| complete_date_day | Day of month for the complete date |
| complete_week_of_year | ISO week number for the complete date |
Headers
Bearer token | |
| Accept | application/json |
| Content-Type | application/json |
Response
Parameters
The API returns the requested columns specified by returnColumns as output. If returnColumns is unspecified then all columns listed will be returned.
Examples
All columns
Omit returnColumns to return every field for each work item.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=2" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "2"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "2"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "211:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"complete_by": "-1",
"category_name": "Change Request Approval",
"change_request_id": "102",
"job_reference": "102",
"activity_instance_id": "211",
"activity_instance_database": "WPDS",
"workflow_instance_iteration": "1",
"process_instance_id": "102",
"name": "Supervisor Approval",
"work_state": "Completed",
"job_state_id": "5",
"planned_time": "97199",
"duration_type": "1",
"accumulated_time": "0",
"available_date": "2025-03-07 17:09:06.0",
"open_date": "2025-03-07 17:09:08.0",
"first_open_date": "2025-03-07 17:09:08.0",
"complete_date": "2025-03-07 17:09:08.0",
"last_modified_user_id": "-1",
"last_modified_date": "2025-03-07 17:09:08.0",
"completion_code": "0",
"due_date": "2025-03-12 17:00:00.0",
"in_queue_time_value": "0.00002314814814814814814814814814814814814815",
"in_queue_time_hours": "0",
"in_queue_time_days": "0",
"in_queue_time_text": "0 days 0 hours",
"open_time_value": "0",
"open_time_hours": "0",
"open_time_days": "0",
"open_time_text": "0 days 0 hours",
"total_time_value": "0.00002314814814814814814814814814814814814815",
"total_time_hours": "0",
"total_time_days": "0",
"total_time_text": "0 days 0 hours",
"overdue_time_value": "",
"overdue_time_hours": "",
"overdue_time_days": "",
"overdue_time_text": " days hours",
"available_date_no_time": "2025-03-07 00:00:00.0",
"available_date_year": "2025",
"available_date_month": "3",
"available_date_month_text": "March ",
"available_date_month_abv": "Mar",
"available_date_day": "7",
"available_week_of_year": "10",
"open_date_no_time": "2025-03-07 00:00:00.0",
"open_date_year": "2025",
"open_date_month": "3",
"open_date_month_text": "March ",
"open_date_month_abv": "Mar",
"open_date_day": "7",
"open_week_of_year": "10",
"first_open_date_no_time": "2025-03-07 00:00:00.0",
"first_open_date_year": "2025",
"first_open_date_month": "3",
"first_open_date_month_text": "March ",
"first_open_date_month_abv": "Mar",
"first_open_date_day": "7",
"first_open_week_of_year": "10",
"complete_date_no_time": "2025-03-07 00:00:00.0",
"complete_date_year": "2025",
"complete_date_month": "3",
"complete_date_month_text": "March ",
"complete_date_month_abv": "Mar",
"complete_date_day": "7",
"complete_week_of_year": "10"
},
{
"workitem_id": "217:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"complete_by": "",
"category_name": "Change Request Activity",
"change_request_id": "102",
"job_reference": "102",
"activity_instance_id": "217",
"activity_instance_database": "WPDS",
"workflow_instance_iteration": "1",
"process_instance_id": "103",
"name": "Manual Fulfillment",
"work_state": "Canceled",
"job_state_id": "4",
"planned_time": "97199",
"duration_type": "1",
"accumulated_time": "0",
"available_date": "2025-03-07 17:09:20.0",
"open_date": "",
"first_open_date": "",
"complete_date": "",
"last_modified_user_id": "-1",
"last_modified_date": "2025-03-07 17:09:20.0",
"completion_code": "0",
"due_date": "2025-03-12 17:00:00.0",
"in_queue_time_value": "",
"in_queue_time_hours": "",
"in_queue_time_days": "",
"in_queue_time_text": " days hours",
"open_time_value": "",
"open_time_hours": "",
"open_time_days": "",
"open_time_text": " days hours",
"total_time_value": "",
"total_time_hours": "",
"total_time_days": "",
"total_time_text": " days hours",
"overdue_time_value": "",
"overdue_time_hours": "",
"overdue_time_days": "",
"overdue_time_text": " days hours",
"available_date_no_time": "2025-03-07 00:00:00.0",
"available_date_year": "2025",
"available_date_month": "3",
"available_date_month_text": "March ",
"available_date_month_abv": "Mar",
"available_date_day": "7",
"available_week_of_year": "10",
"open_date_no_time": "",
"open_date_year": "",
"open_date_month": "",
"open_date_month_text": "",
"open_date_month_abv": "",
"open_date_day": "",
"open_week_of_year": "",
"first_open_date_no_time": "",
"first_open_date_year": "",
"first_open_date_month": "",
"first_open_date_month_text": "",
"first_open_date_month_abv": "",
"first_open_date_day": "",
"first_open_week_of_year": "",
"complete_date_no_time": "",
"complete_date_year": "",
"complete_date_month": "",
"complete_date_month_text": "",
"complete_date_month_abv": "",
"complete_date_day": "",
"complete_week_of_year": ""
}
]
}
Specific columns
Use returnColumns to limit the response to the fields you need. This keeps the payload small and the mapping work simple. The example returns five columns that cover the most common reporting needs.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state,category_name" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state,category_name"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state,category_name"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
- 412 Invalid column
{
"findChangeRequestWorkItems": [
{
"workitem_id": "211:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "102",
"work_state": "Completed",
"category_name": "Change Request Approval"
},
{
"workitem_id": "217:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Canceled",
"category_name": "Change Request Activity"
},
{
"workitem_id": "238:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Completed",
"category_name": "Change Request Activity"
}
]
}
<html><head><title>Error</title></head><body>The parameter returncolumns contains an invalid column - 'invalid_col'. Query String=cmd=findChangeRequestWorkItems&format=json&returnColumns=workitem_id,invalid_col</body></html>
Filter by a single value
Pass any column name as a query parameter to filter results. Only work items that match the value are returned. The example returns items where work_state is Completed.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&work_state=Completed" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"work_state": "Completed"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
work_state: "Completed"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "491:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "221",
"work_state": "Completed"
},
{
"workitem_id": "445:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "201",
"work_state": "Completed"
},
{
"workitem_id": "486:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "221",
"work_state": "Completed"
}
]
}
Filter with OR logic
Repeat the same parameter with different values to match any of them. The example returns work items where work_state is Completed or Canceled. The results are sorted by workitem_id to show both states in the output.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=4&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&work_state=Completed&work_state=Canceled&sortByColumns=workitem_id&sortDirection=asc" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = [
("cmd", "findChangeRequestWorkItems"),
("format", "json"),
("returnMaxRows", "4"),
("returnColumns", "workitem_id,workflow_instance_name,change_request_id,work_state"),
("work_state", "Completed"),
("work_state", "Canceled"),
("sortByColumns", "workitem_id"),
("sortDirection", "asc")
]
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
const params = new URLSearchParams();
params.append('cmd', 'findChangeRequestWorkItems');
params.append('format', 'json');
params.append('returnMaxRows', '4');
params.append('returnColumns', 'workitem_id,workflow_instance_name,change_request_id,work_state');
params.append('work_state', 'Completed');
params.append('work_state', 'Canceled');
params.append('sortByColumns', 'workitem_id');
params.append('sortDirection', 'asc');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params,
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "211:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "102",
"work_state": "Completed"
},
{
"workitem_id": "217:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Canceled"
},
{
"workitem_id": "224:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Completed"
},
{
"workitem_id": "231:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Completed"
}
]
}
Case-insensitive filter
Filters are case-sensitive by default. Set ignoreCase=true to match regardless of case. The example passes work_state=completed in lowercase and still returns Completed records.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&work_state=completed&ignoreCase=true" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"work_state": "completed",
"ignoreCase": "true"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
work_state: "completed",
ignoreCase: "true"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "491:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "221",
"work_state": "Completed"
},
{
"workitem_id": "445:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "201",
"work_state": "Completed"
},
{
"workitem_id": "486:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "221",
"work_state": "Completed"
}
]
}
Sort ascending
Use sortByColumns with a column name and sortDirection=asc to sort results from lowest to highest. The example sorts by workitem_id.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&sortByColumns=workitem_id&sortDirection=asc" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"sortByColumns": "workitem_id",
"sortDirection": "asc"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
sortByColumns: "workitem_id",
sortDirection: "asc"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "211:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "102",
"work_state": "Completed"
},
{
"workitem_id": "217:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Canceled"
},
{
"workitem_id": "224:WPDS:1",
"workflow_instance_name": "Manual Fulfillment",
"change_request_id": "102",
"work_state": "Completed"
}
]
}
Sort descending
Set sortDirection=desc to reverse the order.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=json&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&sortByColumns=workitem_id&sortDirection=desc" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "json",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"sortByColumns": "workitem_id",
"sortDirection": "desc"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "json",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
sortByColumns: "workitem_id",
sortDirection: "desc"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
{
"findChangeRequestWorkItems": [
{
"workitem_id": "495:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "221",
"work_state": "Completed"
},
{
"workitem_id": "491:WPDS:1",
"workflow_instance_name": "Asset Business Owner Approval",
"change_request_id": "221",
"work_state": "Completed"
},
{
"workitem_id": "486:WPDS:1",
"workflow_instance_name": "Supervisor Approval",
"change_request_id": "221",
"work_state": "Completed"
}
]
}
CSV with custom delimiter
Set format=csv for a comma-separated response. Use delimiter to change the separator character.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=csv&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&delimiter=~" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "csv",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"delimiter": "~"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.text)
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "csv",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
delimiter: "~"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
workitem_id~workflow_instance_name~change_request_id~work_state
491:WPDS:1~Asset Business Owner Approval~221~Completed
445:WPDS:1~Asset Business Owner Approval~201~Completed
486:WPDS:1~Supervisor Approval~221~Completed
CSV without header row
Set includeHeaderRow=false when your downstream system expects raw data rows without a header.
Request
- Curl
- Python
- Node.js
curl -K -X GET \
"https://instance.securid.com/aveksa/command.submit?cmd=findChangeRequestWorkItems&format=csv&returnMaxRows=3&returnColumns=workitem_id,workflow_instance_name,change_request_id,work_state&includeHeaderRow=false" \
-H "Authorization: Bearer <token>"
import requests
url = "https://instance.securid.com/aveksa/command.submit"
params = {
"cmd": "findChangeRequestWorkItems",
"format": "csv",
"returnMaxRows": "3",
"returnColumns": "workitem_id,workflow_instance_name,change_request_id,work_state",
"includeHeaderRow": "false"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, params=params, headers=headers)
print(response.text)
const axios = require('axios');
axios.get("https://instance.securid.com/aveksa/command.submit", {
params: {
cmd: "findChangeRequestWorkItems",
format: "csv",
returnMaxRows: "3",
returnColumns: "workitem_id,workflow_instance_name,change_request_id,work_state",
includeHeaderRow: "false"
},
headers: { Authorization: "Bearer <token>" }
}).then(r => console.log(r.data));
Response
- 200
491:WPDS:1,Asset Business Owner Approval,221,Completed
445:WPDS:1,Asset Business Owner Approval,201,Completed
486:WPDS:1,Supervisor Approval,221,Completed
Error responses
A 401 is returned when the token is missing, invalid, or expired. A 412 is returned when returnColumns includes a column name that does not exist in the PV_CHANGE_REQUEST_WORK_ITEM public view.
- 401 Invalid token
- 412 Invalid column
<html>
<head><title>Error</title></head>
<body>The token is not valid for the command 'findChangeRequestWorkItems'. Token is invalid or expired</body>
</html>
<html>
<head><title>Error</title></head>
<body>The parameter returncolumns contains an invalid column - `invalid_col`.
Query String=cmd=findChangeRequestWorkItems&format=json&returnMaxRows=2&returnColumns=workitem_id,invalid_col</body>
</html>
Verified with RSA Governance & Lifecycle version 8.0.0.188886 P10_HF01.