Hi Tomas, you're absolutely correct in observing inconsistent or incorrect behavior from the Mendix Projects API GET /projects/{project-id} endpoint when it comes to returning project-specific user roles.
What's Really Happening
The GET /projects/{project-id} endpoint returns a list of users and their global Mendix roles, like
Business Engineer
Scrum Master
App Team Member
These roles are not scoped per project — they are more like account-level default roles, not the actual roles assigned via Sprintr for a specific application.
So yes, even if a user is not a Scrum Master for Project A, the API might still return them as one, because that's their global profile role, not their role in that project.
Problem:
The API doesn't expose the actual role bindings within a specific app team.
The roles returned are cached or taken from the user's global metadata, not their per-project assignment.
There's currently no official API from Mendix that exposes true project-specific team role mappings (as seen in the Sprintr UI).
Current Workarounds:
Unfortunately, there is no public API that provides
A list of users with their true Sprintr roles per application/project.
Team membership details scoped per project.
Some possible workarounds:
1. Manual Syncing via Sprintr UI
Export the team roles manually from the Sprintr project team page for now. Not ideal, but accurate.
2. Raise a Support Ticket
Since this is a gap in the API
You should report it to Mendix Support or post in the Mendix Idea Forum.
They may provide internal APIs or roadmap plans.
3. Private APIs (Not officially supported)
There are some unofficial/private Sprintr APIs used by the Mendix frontend (browser dev tools can help you see them), but:
These are not documented, not stable, and not supported for production use.
They may expose the real team and role mapping, but use at your own risk.
Summary
The /projects/{project-id} API does not return per-project roles — it gives global roles.
There is no public API currently that gives accurate Sprintr role assignments per project.
This is likely a limitation or bug in the API design.
Recommendation
If this is critical to your workflow, I strongly suggest:
Opening a feature request or bug report to Mendix Support.
Asking for Sprintr Team Role API access or roadmap plans.
I hope this one helps you! :)