Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add an article to explain graph top-level segments and included the rules for /external #538

Open
wants to merge 4 commits into
base: vNext
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 15 additions & 0 deletions graph/articles/graph-taxonomy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Graph Taxonomy

Different top-level segments have different requirements and these rules MUST be followed:

* `/external`

* The `/external` top-level segment is used to expose data that is provided by third-party services.
* Microsoft Graph APIs that build on data or functionality provided by third-parties will want to reference the data from those third-parties.
The third-party data that is exposed on Microsoft Graph should be consistent with the data directly coming from the third-party services, but to be referenced by Graph APIs, CSDL entities need to be created and navigated to.
Doing this allows clients to have their data conveniently in a single API surface, while also maintaining consistency across the Microsoft Graph APIs and the third-party APIs.
* In addition to the first-party, scenario-based APIs, additional APIs should be released under the `/external` top-level segment.
The APIs under `/external` MUST not expose any data that is provided by Microsoft.
Any data that is available under `/external` MUST be data that could be retrieved directly from the third-party service; these APIs are only being added to Graph for convenience and interoperability.
* Microsoft Graph is not intended to be a single-pane-of-glass for all third-party APIs.
Only APIs that facilitate Graph scenarios should be exposed under `/external`.