Postman filter issue

i am getting the work items data through API, by filtering owner ID of workitems.it is working as expected.

i need to filter application as well how can i do it.

i have tried with ā€œfiltersā€ in key and value is ā€œresponse.approvalItems[*].applicationā€ eq ā€œapplication nameā€" but not working

That’s a great question! You’re right to double‑check the documentation before trying to filter by application. I looked through the SailPoint Identity Security Cloud (ISC) V2025 API docs and community posts and here’s what I found:

What the Documentation Confirms

The /work-items endpoint supports filtering only on top‑level fields such as:

  • ownerId
  • state
  • type
  • created
  • requestId

Nested objects like approvalItems.application are not directly filterable through query parameters. That’s why your current filter (?ownerId=...) works, but adding something like ?application=... doesn’t.

Reference

Workaround Options

  1. Client‑side filtering
  • Retrieve work items filtered by owner (as you already do).
  • Then filter the approvalItems array in using python script or workflow logic:
filtered = [
    item for item in work_items
    if any(app["application"]["name"] == "YourAppName" for app in item["approvalItems"])
]
  • This is the most reliable method since the API doesn’t expose nested filters.

Thanks,
Shantha Kumar

I have tried in workflow in the loop, same post call to mark the workitems as completed but it is not working as expected

Hey @RahulMekala What exactly are you trying to achieve?

I want to mark workitems as completed through a workflow where it should verofy for only particular application and owner

Hi @RahulMekala ,

I don’t think so filter is available for the list workitem API call. In workflow try to filter it out using json query.

The issue is with the filter syntax/URL encoding in Postman, not the API itself.

Verify:

  • The filter expression is URL- encoded correctly(spaces, quotes, operators).
  • String values are enclosed in quotes where required.
  • check if you are using filter format supported by Sailpoint API endpoint.
  • test endpoint without the filter first, then add the filter incrementally to identify the failing clause.

Many issues are caused by postman not encoding special characters as expected.

How can we do it.

It should be updated in body of https request step

@RahulMekala Try the below steps. It works for me and able to complete the work item based on the specific owner ID and application name.

  • Get Work Items using HTTP Request
  • Next step: use Verify Date Type by checking the ownerID
  • Next use another Verify Data Type by checking the application
  • Then store the work item ID in Define variable
  • Lastly, use the define variable to update the work item as completed.

Step 1:


Step 2:

Step 3:

Step 4:

Step 5:

If there are multiple worktitems

Then keep the last HTTP Request inside the Loop.

what is the post URL using in step 5 and how it is taking id of approval item

Unable to parse input as JSON, please ensure it is syntactically correct. (type: Error Parsing Input, retryable: false): invalid character ā€˜e’ in literal true (expecting ā€˜r’)

getting error in last step and in define varible i am not getting any ID as output

Below is the URL i’m using in Step 5:
https://devrel.api.identitynow-demo.com/v2024/work-items/{{$.defineVariable.workItemID}}

i am getting same error in last step may be in define variable i am not getting output id
**
Error**

Unable to parse input as JSON, please ensure it is syntactically correct. (type: Error Parsing Input, retryable: false): invalid character ā€˜e’ in literal true (expecting ā€˜r’)

When you run the test workflow click on the Define variable >> Step Output can you see what is giving there. If possible take a screenshot and send it here.

i have added screenshot of varible step output

can you please provide me whole workflow JSon