Generated from the API’s OpenAPI 3.1.1 description. Every installation serves the same description at /ir-api/v1/openapi.json (no token needed), so tools such as Postman, Bruno or an OpenAPI client generator can read it directly.
Reports of IntensiveReports (Microsoft 365 / Entra ID). Switched off until an administrator turns it on in Settings > API access, which also issues the tokens: send Authorization: Bearer ir1.<client id>.<secret>. A client sees only the reports of the product areas it is granted (Read < Refresh < Run scan per area) minus its opt-out list; any other report answers 404 like an unknown one. GET /reports describes each report: columns, named filters and parameters (a report’s parameters are query parameters of GET /reports/{id}, e.g. ?upn=). An on-demand report that is still loading answers 202 with state Loading - call again. State SwitchedOff: an administrator switched the report’s data off in Settings; nothing is fetched (refresh and scan answer 409). Every call is audited. Rate limit: per client per minute (429 with Retry-After). The MCP server for AI assistants is /ir-mcp with the same tokens.
The reports this client may read
Id, title, the question it answers, product area, mode (Derived / OnDemand / Manual), licence and permissions it needs, columns (key, title, kind, description), named filters, parameters, related reports and the actions this client may take.
| Status | Meaning |
|---|
200 | OK |
401 | Unauthorized |
429 | Too Many Requests |
Read one report
State, freshness, metrics, charts, notes and one page of rows. filter: named filters, comma-separated (all must match); page / size: paging (size at most 1000); timeout: seconds to wait for a load (at most 60). The report’s parameters (see listReports) are further query parameters. 202: still loading, call again.
| Parameter | In | Type | Required | Description |
|---|
id | path | string | Yes | |
filter | query | string | No | |
page | query | integer,string | No | |
size | query | integer,string | No | |
timeout | query | integer,string | No | |
| Status | Meaning |
|---|
200 | OK |
202 | Accepted |
400 | Bad Request |
401 | Unauthorized |
404 | Not Found |
429 | Too Many Requests |
Reload a report now (Refresh grant; a manual report needs Run scan)
| Parameter | In | Type | Required | Description |
|---|
id | path | string | Yes | |
| Status | Meaning |
|---|
202 | Accepted |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
429 | Too Many Requests |
Start a manual report’s scan (Run scan grant)
| Parameter | In | Type | Required | Description |
|---|
id | path | string | Yes | |
| Status | Meaning |
|---|
202 | Accepted |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
409 | Conflict |
429 | Too Many Requests |
State and freshness of every report this client may read
| Status | Meaning |
|---|
200 | OK |
401 | Unauthorized |
429 | Too Many Requests |
The problems the dashboard counts, worst first
Severity, count, title and the report that lists the objects (reportId), for the findings of the reports this client may read. Counts come from the cached data; note says when a check could not run.
| Status | Meaning |
|---|
200 | OK |
401 | Unauthorized |
429 | Too Many Requests |
| Field | Type | Description |
|---|
error | string | |
| Field | Type | Description |
|---|
severity | IrSeverity | |
count | integer or string | |
title | string | |
reportId | string | |
area | IrProductArea | |
| Field | Type | Description |
|---|
count | integer or string | |
findings | FindingItem[] | |
note | null or string | |
| Field | Type | Description |
|---|
label | string | |
value | string | |
severity | string | |
hint | string | |
Values: Pie, Bar
Values: EntraId, Security, Intune, ExchangeOnline, SharePointOnline, OneDrive, Teams, Licensing, Compliance, Tenant
| Field | Type | Description |
|---|
kind | IrChartKind | |
title | string | |
points | IrReportChartPoint[] | |
emptyText | string | |
| Field | Type | Description |
|---|
label | string | |
value | number or string | |
Values: NotLoaded, Loading, Ok, Empty, Failed, NotApplicable, SwitchedOff
Values: Neutral, Good, Warning, Serious, Critical
| Field | Type | Description |
|---|
id | string | |
state | IrReportState | |
error | string | |
partialWarning | string | |
notApplicableReason | string | |
loadedUtc | null or string | |
isRunning | boolean | |
progress | string | |
metrics | IrB4Metric[] | |
charts | IrReportChart[] | |
notes | string[] | |
totalRows | integer or string | |
filteredRows | integer or string | |
page | integer or string | |
size | integer or string | |
filters | string[] | |
rows | object[] | |