Response Mapping's Attribute Path when JSON response is an array of strings?

Hi @ywomiloju,

Great question and welcome to the community!

When your JSON response is an array of strings and your target schema attribute is multivalued (e.g., roles as type: STRING, multi: true), you can map this directly. The trick lies in the Root Path and Attribute Path configuration within the child HTTP operation.

Example: -



Since the you mentioned the entire response is an array (not wrapped in a JSON object), you can use the below in Root Path and directly map roles in Attribute Path:

$ or $[*] or "$"

This tells SailPoint to take the full array and map it directly to the roles attribute on the account.


If you get a nested structure like below in response from the API:

{
  "userId": "1234",
  "roles": ["admin", "user", "analyst"]
}

Then also the above should work as you are mapping roles in Attribute Path.

If response is like:

{
  "roles": [
    { "name": "admin" },
    { "name": "user" }
  ]
}

You’d use a more specific Root Path:

$.roles[*]

Always preview the response from your endpoint in Postman when possible and verify what root element is returned. Usually$ or $[*] works.

If aggregation still returns empty, double-check your account schema field roles is marked as multi: true.

Good luck mate.