NERM API: GET Profile by id is returning incorrect work assignment information

Hello All,

We are using NERM APIs to retrieve worker information. Observing an issue that API (get profile by profile id) does not return the worker attributes information from worker’s primary work assignment.

Data Scenario:

  • Workers with existing primary work assignment
  • Create new work assignment and mark the new one as primary. (so the earlier worker assignment will become secondary).
  • Post this step #2 when we execute the API it still return us the attributes information from previous primary work assignment.

Questions:

  • Anyone faced similar issues?
  • Is there any API which will give us all the worker assignments and then way to pull the primary worker assignment attributes

Thanks,

Pallavi

Can you provide details of the approach, and the validation steps that this was done correctly?

e.g. Is the original-primary work assignment no longer showing up as primary?

This behavior is a known challenge in SailPoint Non-Employee Risk Management (NERM) due to how the platform handles relationships between “Person” profiles and “Assignment” profiles.

Recommended APIs and Strategies
To reliably get the current primary assignment and its specific attributes, you should query the Assignment profile type directly rather than relying on the Person profile’s aggregated view.
List all Assignments for a Worker:
Use the Advanced Search API to filter for profiles of the assignment type that are linked to your specific person_id.
Filter: Search for profiles where the profile_type_id matches your “Assignment” type and the reversible relationship attribute (e.g., related_person) matches the Worker’s ID.
Identify the Primary Assignment:
Once you have the list of assignments, look for the attribute that designates it as primary (often a boolean like is_primary or a status field). The API response for each assignment will contain its unique attributes (Location, Department, Manager, etc.).

2 Likes

Shouldn’t the assignment update workflow handle the forward and reverse relationship updates? Or are you saying that even with the correct data at the profiles’ level, the ‘search’ is still a challenge?

This is the solution. The only overall clarification is you can do all of that in 1 advanced search.

Profile Type ID === Assignment Profile Type ID

Assignment Identity === Identity Profile ID

Primary Assignment (flag) === True (or Dropdown/radio etc) as NERM really doesn’t have good Boolean type attribute :frowning:

1 Like

Thank you, we will try it out.

1 Like