User Roles

When looking at the response of user extended by ID, I got roles that are not part of core roles?

So Is there roles that are not part of core roles ?

Is this happens in real time environment ?

or Is it an error in sample response in cohort sandbox environment?

Comments

  • Hello,

    While it doesn't feel like expected behavior, it seems to be. I have asked about this as well and if I recall correctly, the extended endpoint will also return relatives (sometimes) of people in the targeted role(s).

    We built in some filters to check the users role lists to ensure they are in the targeted role before we import them into our system.

    I'd certainly be curious to hear an official response on this as this does not seem to be a documented behavior…and you can tell by my own vague response it still confuses me.

  • Brian Gray
    Brian Gray Community All-Star
    Eighth Anniversary Kudos 5 First Reply bbcon 2025 Attendee Badge

    @dinesh raja - Each role has two IDs associated with it: the ID that is specific to your school, and the base role ID that is the same for all schools.

    You can clone a role to allow a user to have access to some - but not all - capabilities of a standard role. For example, we clone the Academic Group Manager role to allow some administrators to see data about students. With that cloned role, they can see the data but can't change any configurations.

    The cloned role has a different role ID, but has the same base role id as Academic Group Manager.

  • @Brain Gray Ok then the cloned role is listed under core roles endpoint or not?

  • In my case I got a role “Assistant advisor” for some user id in Users Extended by Id endpoint which is not part of core roles endpoint.

    Does this case occur ? If Assistant advisor is a cloned role how can one get to know about the cloned roles.

    Can we use core roles endpoint to know the newly cloned role details?

  • Brian Gray
    Brian Gray Community All-Star
    Eighth Anniversary Kudos 5 First Reply bbcon 2025 Attendee Badge

    @dinesh raja - This explanation may help:


    At my school, I cloned the "Comments Manager" role to create the :Academic Support - Official Notes" role.

    A call to Core Roles (
    https://developer.sky.blackbaud.com/docs/services/school/operations/v1rolesget/console) returns in part:

    {
    "id": 19651,
    "base_role_id": 2151,
    "hidden": false,
    "name": "Comments Manager"
    }
    {
    "id": 64187,
    "base_role_id": 2151,
    "hidden": false,
    "name": "Academic Support - Official Notes"
    },

    Note that the "base_role_id" are the same, but the IDs are different.

    Users extended by role(s) takes a list of BASE role IDs as the argument. If I want to retrieve the extended user information for all of the people with the " Academic Support - Official Notes" role, I must make the call with the base role ID: 2151.

    When the list is returned, it includes users with either the "Comments Manager" role or the "Academic Support - Official Notes" role. In the information returned for each user, the Roles data includes both the base role ID and the role ID.

    For me (a Comments Manager), the "base_role_id" is 2151, and the "id" is 19651.

    For someone who has the Academic Support - Official Notes role, "base_role_id" is 2151 and
    "id" is 64187.


    In your case, if you need to differentiate between Advisor and Assistant Advisor, you would call Users extended by roles with the Advisor base role ID, and then look at the ID value of each role returned for each user to distinguish between the Advisor role ID and the Assistant Advisor role ID.

Categories