Missing users: /users only returns 2 users, /users/extended only returns 3

This is a new one to me…..

For one school, only 2 users are returned by the /users endpoint. Only 3 are returned by /users/extended. One of the returned users is the authenticated user.

The school has more than 3 users. The OneRoster /users endpoint is working as expected.

/users/me shows these roles, among others:

  • Platform Manager
  • SKY API Data Sync

I've tried base role ID 1 (All School) for /user/extended. I've also tried the base role IDs for students, faculty, and non-teaching staff.

What could cause this?

Comments

  • Update: The school in question has multiple environments. One is mostly unused. That's the one that it prompts them to authorize for.

    It looks like there isn't an environment dropdown on the authorization screen. Maybe the environment was chosen earlier, when the app was added in Marketplace?

    53739d14b52462ae3dcb176f8aec7190-huge-im
  • Todd DeSchuiteneer
    Todd DeSchuiteneer Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    @Eric Eskildsen my only thought as to why the user wouldn't be seeing the environment option when authorizing the application is perhaps they do not have Solution admin privileges to Marketplace for that particular environment.

  • Chris Rodgers
    Chris Rodgers Blackbaud Employee
    Ninth Anniversary Kudos 3 Name Dropper Participant

    Hey, @Eric Eskildsen. A user will only see an environment dropdown on the authorization page if they have access to multiple* environments* where your application is connected. If the application is connected to only one of this customer's environments or if that user only has access to one of the environments, then they won't be presented with a dropdown.

    You can check which customer environments have connected your application by going to your application's detail page within My apps and clicking “View environments” just above the tabs. If all of the expected customer environments are there, then this may be an issue with the user's access--to @Todd DeSchuiteneer's idea. Just a note: “access” in this case doesn't have to be Marketplace admin-level access--any access to the environment will allow the user to authorize the application. Of course, API access will be limited by the user's own permissions.

    *Note: Applications can also limit the authorization page to only presenting one environment by using the `environment_id` query string parameter when authorization is requested (docs). This can be useful if the application needs to request renewed authorization for a specific environment. However, I don't believe `environment_id` is being used in your case.

  • Thanks Chris and Todd. It turned out they had the wrong environment selected when they originally added the app in Marketplace.

    For anyone else facing this issue, their fix was:

    • Go to Marketplace (https://app.blackbaud.com/marketplace/)
    • Click the user profile icon in the upper right (it may be a gear icon instead [?])
    • Click the correct environment in the dropdown menu
    • Connect the app for that environment

    In the dropdown menu, it should say “(current)” after the currently selected environment.

    I'm guessing this already documented somewhere and/or common knowledge….Just sharing in case someone else finds this post.

    Thanks again!

Categories