# microsoftdocs/office-365-management-api architecture

> Architecture diagram of the GitHub repository microsoftdocs/office-365-management-api, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-05-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/microsoftdocs/office-365-management-api
- Repository: https://github.com/microsoftdocs/office-365-management-api

## Overview

This repository is a documentation-as-code project for the Office 365 Management APIs, not an application runtime. Its primary “product” is a static technical docs site published from Markdown sources.

1. Core content layer  
The main source material lives under `office-365-management-api/` as Markdown files. These are the actual documentation pages for the API surface: overview, getting started, references, schemas, troubleshooting, and specialized scenarios like AIP and OME.

2. Information architecture / navigation  
`office-365-management-api/TOC.md` and `office-365-management-api/breadcrumb/toc.yml` define the documentation hierarchy and page navigation. This is the structural backbone for how readers move through the docs site.

3. Page families and subject boundaries  
The content is grouped into clear topic clusters:
- API overview and onboarding
- Office 365 Management Activity API reference and schema
- Office 365 Service Communications API reference
- AIP-related pages such as discovery, heartbeat, file deletion, protection actions, and sensitivity label actions
- OME portal documentation
- Troubleshooting and best practices  
These clusters are likely rendered as separate sections within one site rather than separate services.

4. Static site build system  
`office-365-management-api/docfx.json` indicates the site is built with DocFX. In architecture terms, DocFX is the documentation compiler that turns Markdown plus TOC/configuration into a static site.

5. Publishing pipeline  
The repo includes `.openpublishing.publish.config.json` and `.openpublishing.redirection.json`, which show it is wired into Microsoft’s Open Publishing workflow. This is the deployment boundary from source docs to the hosted documentation platform.

6. Continuous publishing automation  
`.github/workflows/auto-publish.yml` suggests GitHub Actions is used to trigger or validate publishing automatically. The repo therefore has a CI/CD-style docs pipeline: commit content, build/publish, update the live docs site.

7. Assets and presentation layer  
`office-365-management-api/images/` contains supporting illustrations or screenshots used by the docs pages. These are part of the rendered static site, not separate runtime assets.

8. Subject-matter dependency, not code dependency  
The docs describe Microsoft services and APIs that require Microsoft Entra ID, OAuth v2, OData v4, and JSON. Those are the external runtime dependencies of the APIs being documented, but they are not implemented in this repo.

9. Repository purpose boundary  
There is no application backend, SDK, or service implementation here. The repo’s responsibility ends at authoring, structuring, building, and publishing the documentation for the Office 365 Management APIs.

10. Governance and compliance layer  
`README.md`, `LICENSE`, `SECURITY.md`, and `ThirdPartyNotices` establish the repository’s legal, security, and community metadata. These support the docs project but do not affect the site’s content flow.

If you are drawing the architecture, the key flow is: Markdown content and navigation files in `office-365-management-api/` -> DocFX/Open Publishing build configs -> GitHub Actions / Open Publishing pipeline -> published static documentation site.

Main entry points: [`office-365-management-api/TOC.md`](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/TOC.md) (TOC), [`office-365-management-api/docfx.json`](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/docfx.json) (DocFX), [`office-365-management-api/aip-unified-audit-logs-best-practices.md`](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/aip-unified-audit-logs-best-practices.md) (Best practices), [`office-365-management-api/office-365-management-apis-overview.md`](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-apis-overview.md) (Overview)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_g_content["Content"]
  node_n_index["Home<br/>landing page<br/>[index.md]"]
  node_n_toc["TOC<br/>navigation<br/>[TOC.md]"]
  node_n_breadcrumb["Breadcrumbs<br/>navigation<br/>[toc.yml]"]
end

subgraph group_g_topics["Topics"]
  node_n_overview["Overview<br/>intro doc"]
  node_n_getstarted["Get started<br/>onboarding doc"]
  node_n_activity_ref["Activity API<br/>api reference"]
  node_n_activity_schema["Activity schema<br/>schema doc"]
  node_n_service_comm["Service comms<br/>api reference"]
  node_n_aip_discover["AIP discover<br/>scenario doc<br/>[AipDiscover.md]"]
  node_n_aip_heartbeat["AIP heartbeat<br/>scenario doc<br/>[AipHeartBeat.md]"]
  node_n_aip_deleted["AIP deleted<br/>scenario doc<br/>[AipFileDeleted.md]"]
  node_n_aip_protect["AIP protect<br/>scenario doc"]
  node_n_aip_labels["AIP labels<br/>scenario doc"]
  node_n_ome["OME portal<br/>scenario doc<br/>[OMEPortal.md]"]
  node_n_troubleshoot["Troubleshoot<br/>support doc"]
  node_n_best_practices["Best practices<br/>guidance doc"]
  node_n_copilot_schema["Copilot schema<br/>schema doc<br/>[copilot-schema.md]"]
end

subgraph group_g_build["Build & publish"]
  node_n_docfx["DocFX<br/>site compiler<br/>[docfx.json]"]
  node_n_openpub["Open Publishing<br/>publish config"]
  node_n_redirects["Redirects<br/>redirect config"]
  node_n_workflow["Auto publish<br/>ci workflow<br/>[auto-publish.yml]"]
end

subgraph group_g_assets["Assets"]
  node_n_images[("Images<br/>asset folder")]
end

subgraph group_g_governance["Governance"]
  node_n_readme["README<br/>repo guide<br/>[README.md]"]
  node_n_license["License<br/>legal"]
  node_n_license_code["Code license<br/>legal"]
  node_n_security["Security<br/>policy<br/>[SECURITY.md]"]
  node_n_third_party["Third-party notices<br/>legal"]
end

node_n_index -->|"introduces"| node_n_overview
node_n_index -->|"next"| node_n_getstarted
node_n_toc -->|"routes to"| node_n_index
node_n_toc -->|"routes to"| node_n_overview
node_n_toc -->|"routes to"| node_n_getstarted
node_n_toc -->|"routes to"| node_n_activity_ref
node_n_toc -->|"routes to"| node_n_service_comm
node_n_toc -->|"routes to"| node_n_aip_discover
node_n_breadcrumb -.->|"mirrors"| node_n_toc
node_n_overview -->|"context"| node_n_activity_ref
node_n_overview -->|"context"| node_n_service_comm
node_n_getstarted -->|"supports"| node_n_troubleshoot
node_n_activity_ref -->|"defines"| node_n_activity_schema
node_n_activity_ref -->|"supports"| node_n_troubleshoot
node_n_aip_discover -->|"relates to"| node_n_best_practices
node_n_aip_heartbeat -->|"relates to"| node_n_best_practices
node_n_aip_deleted -->|"relates to"| node_n_best_practices
node_n_aip_protect -->|"relates to"| node_n_best_practices
node_n_aip_labels -->|"relates to"| node_n_best_practices
node_n_docfx -->|"builds from"| node_n_toc
node_n_docfx -->|"builds from"| node_n_breadcrumb
node_n_docfx -->|"packages"| node_n_images
node_n_openpub -->|"publishes"| node_n_docfx
node_n_redirects -->|"extends"| node_n_openpub
node_n_workflow -->|"orchestrates"| node_n_openpub
node_n_workflow -->|"validates"| node_n_docfx
node_n_readme -.->|"documents"| node_n_docfx
node_n_readme -.->|"references"| node_n_security
node_n_license -.->|"complements"| node_n_third_party

click node_n_index "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/index.md"
click node_n_overview "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-apis-overview.md"
click node_n_getstarted "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/get-started-with-office-365-management-apis.md"
click node_n_activity_ref "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-activity-api-reference.md"
click node_n_activity_schema "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-activity-api-schema.md"
click node_n_service_comm "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-service-communications-api-reference.md"
click node_n_aip_discover "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipDiscover.md"
click node_n_aip_heartbeat "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipHeartBeat.md"
click node_n_aip_deleted "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipFileDeleted.md"
click node_n_aip_protect "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipProtectionAction.md"
click node_n_aip_labels "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipSensitivityLabelAction.md"
click node_n_ome "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/OMEPortal.md"
click node_n_troubleshoot "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/troubleshooting-the-office-365-management-activity-api.md"
click node_n_best_practices "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/aip-unified-audit-logs-best-practices.md"
click node_n_copilot_schema "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/copilot-schema.md"
click node_n_toc "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/TOC.md"
click node_n_breadcrumb "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/breadcrumb/toc.yml"
click node_n_docfx "https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/docfx.json"
click node_n_openpub "https://github.com/microsoftdocs/office-365-management-api/blob/main/.openpublishing.publish.config.json"
click node_n_redirects "https://github.com/microsoftdocs/office-365-management-api/blob/main/.openpublishing.redirection.json"
click node_n_workflow "https://github.com/microsoftdocs/office-365-management-api/blob/main/.github/workflows/auto-publish.yml"
click node_n_images "https://github.com/microsoftdocs/office-365-management-api/tree/main/office-365-management-api/images"
click node_n_readme "https://github.com/microsoftdocs/office-365-management-api/blob/main/README.md"
click node_n_license "https://github.com/microsoftdocs/office-365-management-api/tree/main/LICENSE"
click node_n_license_code "https://github.com/microsoftdocs/office-365-management-api/tree/main/LICENSE-CODE"
click node_n_security "https://github.com/microsoftdocs/office-365-management-api/blob/main/SECURITY.md"
click node_n_third_party "https://github.com/microsoftdocs/office-365-management-api/tree/main/ThirdPartyNotices"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_n_index,node_n_toc,node_n_breadcrumb toneBlue
class node_n_overview,node_n_getstarted,node_n_activity_ref,node_n_activity_schema,node_n_service_comm,node_n_aip_discover,node_n_aip_heartbeat,node_n_aip_deleted,node_n_aip_protect,node_n_aip_labels,node_n_ome,node_n_troubleshoot,node_n_best_practices,node_n_copilot_schema toneAmber
class node_n_docfx,node_n_openpub,node_n_redirects,node_n_workflow toneMint
class node_n_images toneRose
class node_n_readme,node_n_license,node_n_license_code,node_n_security,node_n_third_party toneIndigo
```

## Components

### Content

Markdown source pages and navigation for the docs site

- [Home](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/index.md): landing page · Entry point for the documentation site · `office-365-management-api/index.md`
- [TOC](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/TOC.md): navigation · Primary table of contents for the docs hierarchy · `office-365-management-api/TOC.md`
- [Breadcrumbs](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/breadcrumb/toc.yml): navigation · Breadcrumb hierarchy used by the documentation site · `office-365-management-api/breadcrumb/toc.yml`

### Topics

Major documentation subject clusters

- [Overview](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-apis-overview.md): intro doc · High-level description of the Office 365 Management APIs · `office-365-management-api/office-365-management-apis-overview.md`
- [Get started](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/get-started-with-office-365-management-apis.md): onboarding doc · Getting-started guidance for the APIs · `office-365-management-api/get-started-with-office-365-management-apis.md`
- [Activity API](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-activity-api-reference.md): api reference · Reference documentation for the Office 365 Management Activity API · `office-365-management-api/office-365-management-activity-api-reference.md`
- [Activity schema](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-management-activity-api-schema.md): schema doc · Schema and payload structure for the management activity API · `office-365-management-api/office-365-management-activity-api-schema.md`
- [Service comms](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/office-365-service-communications-api-reference.md): api reference · Reference for the Office 365 Service Communications API · `office-365-management-api/office-365-service-communications-api-reference.md`
- [AIP discover](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipDiscover.md): scenario doc · Discovery guidance for AIP-related auditing scenarios · `office-365-management-api/AipDiscover.md`
- [AIP heartbeat](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipHeartBeat.md): scenario doc · Heartbeat-related guidance for AIP audit logs · `office-365-management-api/AipHeartBeat.md`
- [AIP deleted](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipFileDeleted.md): scenario doc · File deletion guidance for AIP audit logs · `office-365-management-api/AipFileDeleted.md`
- [AIP protect](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipProtectionAction.md): scenario doc · Protection action guidance for AIP audit logs · `office-365-management-api/AipProtectionAction.md`
- [AIP labels](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/AipSensitivityLabelAction.md): scenario doc · Sensitivity label action guidance for AIP audit logs · `office-365-management-api/AipSensitivityLabelAction.md`
- [OME portal](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/OMEPortal.md): scenario doc · Documentation for the Office 365 Message Encryption portal · `office-365-management-api/OMEPortal.md`
- [Troubleshoot](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/troubleshooting-the-office-365-management-activity-api.md): support doc · Troubleshooting guidance for the management activity API · `office-365-management-api/troubleshooting-the-office-365-management-activity-api.md`
- [Best practices](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/aip-unified-audit-logs-best-practices.md): guidance doc · Best-practices guidance for AIP unified audit logs · `office-365-management-api/aip-unified-audit-logs-best-practices.md`
- [Copilot schema](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/copilot-schema.md): schema doc · Additional schema documentation related to Copilot · `office-365-management-api/copilot-schema.md`

### Build & publish

DocFX and Open Publishing pipeline

- [DocFX](https://github.com/microsoftdocs/office-365-management-api/blob/main/office-365-management-api/docfx.json): site compiler · Builds Markdown and navigation into a static documentation site · `office-365-management-api/docfx.json`
- [Open Publishing](https://github.com/microsoftdocs/office-365-management-api/blob/main/.openpublishing.publish.config.json): publish config · Publishing and redirection configuration for Microsoft Open Publishing · `.openpublishing.publish.config.json`
- [Redirects](https://github.com/microsoftdocs/office-365-management-api/blob/main/.openpublishing.redirection.json): redirect config · Redirection rules for the published documentation site · `.openpublishing.redirection.json`
- [Auto publish](https://github.com/microsoftdocs/office-365-management-api/blob/main/.github/workflows/auto-publish.yml): ci workflow · GitHub Actions workflow that automates publishing · `.github/workflows/auto-publish.yml`

### Assets

Supporting images and media

- [Images](https://github.com/microsoftdocs/office-365-management-api/tree/main/office-365-management-api/images): asset folder · Illustrations and screenshots used by the docs pages · `office-365-management-api/images`

### Governance

Repository metadata and policy files

- [README](https://github.com/microsoftdocs/office-365-management-api/blob/main/README.md): repo guide · Repository overview and contributor-facing entry point · `README.md`
- [License](https://github.com/microsoftdocs/office-365-management-api/tree/main/LICENSE): legal · Repository licensing terms · `LICENSE`
- [Code license](https://github.com/microsoftdocs/office-365-management-api/tree/main/LICENSE-CODE): legal · Supplementary code licensing terms · `LICENSE-CODE`
- [Security](https://github.com/microsoftdocs/office-365-management-api/blob/main/SECURITY.md): policy · Security disclosure and vulnerability reporting guidance · `SECURITY.md`
- [Third-party notices](https://github.com/microsoftdocs/office-365-management-api/tree/main/ThirdPartyNotices): legal · Notices for included third-party materials · `ThirdPartyNotices`

## Connections

- Home → Overview: introduces · Landing page leads into the main overview
- Home → Get started: next · Landing page points readers to onboarding
- TOC → Home: routes to · TOC defines the home page and primary navigation
- TOC → Overview: routes to · TOC includes the overview page
- TOC → Get started: routes to · TOC includes onboarding guidance
- TOC → Activity API: routes to · TOC includes API reference material
- TOC → Service comms: routes to · TOC includes service communications reference
- TOC → AIP discover: routes to · TOC includes AIP scenario pages
- Breadcrumbs → TOC: mirrors · Breadcrumb hierarchy follows the TOC structure
- Overview → Activity API: context · Overview points toward the primary API surface
- Overview → Service comms: context · Overview points toward related service communications docs
- Get started → Troubleshoot: supports · Onboarding flows into troubleshooting guidance
- Activity API → Activity schema: defines · API reference is paired with the schema
- Activity API → Troubleshoot: supports · Reference material connects to troubleshooting
- AIP discover → Best practices: relates to · AIP scenarios are complemented by best practices
- AIP heartbeat → Best practices: relates to · AIP scenarios are complemented by best practices
- AIP deleted → Best practices: relates to · AIP scenarios are complemented by best practices
- AIP protect → Best practices: relates to · AIP scenarios are complemented by best practices
- AIP labels → Best practices: relates to · AIP scenarios are complemented by best practices
- DocFX → TOC: builds from · DocFX consumes navigation and markdown content
- DocFX → Breadcrumbs: builds from · DocFX consumes breadcrumb metadata
- DocFX → Images: packages · DocFX includes static assets in the site build
- Open Publishing → DocFX: publishes · Open Publishing uses the DocFX-built site
- Redirects → Open Publishing: extends · Redirect rules are part of the publishing boundary
- Auto publish → Open Publishing: orchestrates · GitHub Actions automates the publishing workflow
- Auto publish → DocFX: validates · Workflow can trigger or validate site generation
- README → DocFX: documents · README explains the docs build and repository usage
- README → Security: references · Repository metadata points to security guidance
- License → Third-party notices: complements · Legal files define repository redistribution terms
