Per-user Licence Assignment Errors
The question it answers: Which users have a licence that could not be applied, and why?
Users whose licence could not be applied - not enough seats, two conflicting plans, a missing base licence, or a product not sold in their usage location. These users are silently missing mailboxes, Teams or apps they are paying for.
At a glance
Section titled “At a glance”| Where in the app | Licensing › Licence Assignment Errors |
| Workload | Licensing |
| Kind | Table · dashboard tile |
| Data | Built from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once. |
| Licence | None; errors on group assignments need Microsoft Entra ID P1 (group-based licensing). |
| Report id (API and MCP) | entra.licensing.licence-assignment-errors |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| User | DisplayName | Link |
| UPN | UserPrincipalName | Text |
| Licence | Licence | Text |
| Error | Error | Status |
| How to fix | Fix | Text |
| Assigned via | AssignedVia | Text |
| Usage location | UsageLocation | Text |
| Updated | LastUpdatedDateTime | Date |
What it needs
Section titled “What it needs”Licence: None; errors on group assignments need Microsoft Entra ID P1 (group-based licensing).
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
User.Read.All | Microsoft Graph | Read all users’ full profiles | |
User-LifeCycleInfo.Read.All | Microsoft Graph | Read all users’ lifecycle information |
Data sources it reads
GET /v1.0/users?$select=licenseAssignmentStates
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/entra.licensing.licence-assignment-errors?size=100An AI assistant reads it with the MCP tool get_report and the id entra.licensing.licence-assignment-errors. The client needs the Read grant for Licensing. See Using the API.