Pick the portal family first
Each spec maps to a different portal surface, auth model, and backend. Start with the API page that matches the portal you already use.
Getting Started
nodoc documents internal Microsoft portal APIs. The fastest way to get value is to match the right portal family, auth model, and required headers before you try to automate anything.
These four steps are the safest way to move from portal browsing to reliable API usage.
Each spec maps to a different portal surface, auth model, and backend. Start with the API page that matches the portal you already use.
Validate cookies, tokens, tenant context, and required headers with read-only endpoints before attempting any state-changing operations.
The site ships both OpenAPI specs and checked-in Postman collections so you can inspect requests before building any automation.
Assume POST, PATCH, PUT, and DELETE will change tenant state unless an endpoint is explicitly documented as safe. Use a non-production tenant whenever possible.
The repo currently spans four distinct ways of authenticating to portal-backed APIs.
Defender and Purview rely on the portal's `sccauth` cookie and an authenticated browser session.
Portals: Defender, Purview
M365 Admin requires `AjaxSessionKey` plus portal routing and hosting headers extracted from the admin shell.
Portals: M365 Admin
Entra IAM uses the ADIbizaUX resource with delegated user auth only and typically needs `X-Ms-Client-Request-Id`.
Portals: Entra IAM
Entra PIM, IGA, IDGov, and B2C use Azure AD bearer tokens, with tenant- or feature-specific constraints on top.
Portals: Entra PIM, Entra IGA, Entra IDGov, Entra B2C
The notes below separate spec-confirmed details from practical operating guidance for each family.
Portals: Defender, Purview
https://security.microsoft.com/apiproxyhttps://purview.microsoft.com/apiproxyPortals: M365 Admin
https://admin.cloud.microsoftPortals: Entra IAM
https://main.iam.ad.ext.azure.com/apiPortals: Entra PIM, Entra IGA, Entra IDGov, Entra B2C
https://api.azrbac.mspim.azure.comhttps://elm.iga.azure.comhttps://api.accessreviews.identitygovernance.azure.comhttps://main.b2cadmin.ext.azure.comThese principles apply across every portal surface in the site.
Every published spec page in the site has a matching checked-in Postman collection in the repository.
261 modeled operations · Portal session cookie (`sccauth`)
Security operations coverage across alerts, incidents, hunting, endpoint, identity, vulnerability, and exposure workflows.
215 modeled operations · Portal session cookie + custom admin headers
Tenant settings, Copilot controls, reports, user and group management, app settings, and admin shell surfaces.
74 modeled operations · Portal session cookie (`sccauth`)
Compliance, governance, eDiscovery, audit, insider risk, and shared data-service coverage from the Purview portal.
277 modeled operations · Delegated OAuth2 + `X-Ms-Client-Request-Id`
Deep IAM coverage spanning users, groups, applications, policies, directories, MFA, and related admin workflows.
14 modeled operations · Azure AD bearer token
Privileged Identity Management role assignments, requests, permissions, and role-setting workflows.
14 modeled operations · Azure AD bearer token
Identity Governance administration coverage for entitlement management, guest billing, settings, and lifecycle workflows.
11 modeled operations · Azure AD bearer token
Access Reviews and approval workflow coverage including providers, requests, decisions, and feature flags.
5 modeled operations · Azure AD bearer token + `tenantId` query context
External ID / B2C admin flows, user journeys, tenant information, and initialization-related endpoints.