Inappropriateness in API response of campaign filters

What problem are you observing?

When I tried to get all the campaign filters via the API, I found some inconsistencies in the response. While retrieving the details of the campaign filter, all the conditions of a particular filter are listed under the field name “criteriaList,” which is mapped to an array of JSON elements. An example JSON element from the “criteriaList” field is shown below.


If there is a filter condition based on an entitlement given to a campaign filter, the conditions look like the image shown above. Here, the composite type filter condition generally contains two JSON elements in the field “children.” One represents the entitlement detail, and the other represents the source detail. However, in the second element inside the children array, the type is displayed as “ENTITLEMENT” even though the details describe the source associated with the entitlement.

This is not the case for a filter based on an account attribute.


The image above shows a filter condition based on an account attribute. Here, the type field in the second JSON element of the children specifies “SOURCE,” which seems to be appropriate.

What is the correct behavior?

When the filter condition is based on an entitlement, the type field in the second JSON element of the field “children” inside the field “criteriaList” should be “SOURCE.” I believe that is appropriate. However, is this the actual and correct behavior? Does this have any justification or appropriateness?

What product feature is this related to?

This issue pertains to SailPoint IdentityNow APIs.

What are the steps to reproduce the issue?

  1. Create a campaign filter with a filter condition based on an entitlement, as shown below.
  2. Use Postman or any HTTP client of your choice to hit the endpoint https://{org-name}.api.{domain-name}.com/beta/campaigns from the SailPoint API collection with the proper access token for authentication. You will get a response as shown below.
  3. Search for the filter name by clicking on the search icon at the top right corner of the response area.
  4. You will be able to observe the inconsistency in the response, as shown in the image below.

Do you have any other information about your environment that may help?

Instead of specifying the condition with two JSON elements for a filter based on an account attribute or an entitlement, the filter details along with its source details could be specified in a single JSON element. Does this cause any problems or inconveniences in readability or accessibility of the element while getting the details of the campaign filter via the api endpoint?

4 Likes