Versioning and stability
Scripts, dashboards and AI assistant setups built on IntensiveReports should keep working when you update. This page says what you can rely on.
What stays stable
Section titled “What stays stable”Report ids never change. Once a report id such as entra.users.guests has been published, it keeps meaning the same report in every later version:
- a renamed report keeps its id, and only its title changes;
- a report moved to another menu keeps its id;
- ids are never reused for a different report.
The release process checks this automatically against the list of every id ever published. The links from the app to this documentation use the same ids.
Within /ir-api/v1:
- the endpoints, their parameters and the meaning of existing fields stay as documented;
- the token format
ir1.<client id>.<secret>and the other sign-in methods keep working; - status codes keep their meaning.
MCP tool names (list_reports, get_report and the others) and their existing parameters stay as they are.
What may change without notice
Section titled “What may change without notice”Write your code so these changes don’t break it:
- New reports appear in
GET /reportsandlist_reports. - New fields may be added to any answer. Ignore fields you don’t know.
- New columns may be added to a report’s rows, and column order isn’t fixed. Read values by key, never by position.
- New named filters and optional parameters may be added to a report.
- New report states may be added. Treat an unknown
statelikeFailed, and checkerror. - Texts change: titles, questions, descriptions, notes, metric labels and
errormessages are for people. Don’t parse them, and don’t match on exact wording. - Data changes as Microsoft 365 changes: a column may stay empty when Microsoft stops providing a value.
- MCP tool descriptions may be reworded to help assistants pick the right tool.
Changes that would break clients
Section titled “Changes that would break clients”A change that would break existing clients, such as removing a field, changing a field’s type or meaning, or removing an endpoint, doesn’t happen inside /ir-api/v1. Such a change would come with a new base path, /ir-api/v2, and /ir-api/v1 would stay available alongside it for a transition period. The release notes would announce it in advance.
A report that is retired disappears from GET /reports and answers 404, like a report your client may not read. Its id is never given to another report.
Staying up to date
Section titled “Staying up to date”- Your server’s
GET /ir-api/v1/openapi.jsonalways describes the version you run. It needs no token. - The REST API reference and the report reference on this site describe the current release.
- Check the release notes before updating if you depend on a report’s columns.