You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|:no_entry:**MUST NOT** use redundant words in names. |- **Right:** /places/{id}/**type** and /phones/{id}/**number** <BR> - **Wrong** /places/{id}/*placeType* and /phones/{id}/**phoneNumber**|
108
+
|:no_entry:**MUST NOT** use redundant words in names. |- **Right:** /places/{id}/**displayName** and /phones/{id}/**number** <BR> - **Wrong** /places/{id}/*placeName* and /phones/{id}/**phoneNumber**|
109
109
|:warning:**SHOULD NOT** use brand names in type or property names. | - **Right:** chat <BR> - **Wrong** teamsChat |
110
110
|:warning:**SHOULD NOT** use acronyms or abbreviations unless they are broadly understood. | - **Right:** url or htmlSignature <BR> - **Wrong** msodsUrl or dlp |
111
111
|:heavy_check_mark:**MUST** use singular nouns for type names. | - **Right:** address <BR> - **Wrong** addresses |
@@ -143,15 +143,15 @@ segments:
143
143
-**category** segment is a logical grouping of APIs into top-level
144
144
categories;
145
145
146
-
-**pathSegment** is the last navigation segment which can address an entity,
146
+
-**pathSegment** is one or many navigation segments which can address an entity,
147
147
collection of entities, property or operation available for an entity
148
148
149
149
-**query string** must follow the OData standard for query representations
150
150
and is covered in [Query](#query) section of OData specifications.
151
151
152
152
While HTTP defines no constraints on how different resources are related
153
153
together, it does encourage the use of URL path segment hierarchies to convey
154
-
relationships. In Microsoft Graph lifetime relationships between resources are
154
+
relationships. In Microsoft Graph relationships between resources are
155
155
supported by the OData concepts of singletons, entitySets, entities, complex
|:heavy_check_mark:**MUST** support \$select on resource to enable properties projection |
184
184
|:ballot_box_with_check:**SHOULD** support \$filter with eq, ne operations on properties of entities for collections|
185
-
|:heavy_check_mark:**MUST** support server-side pagination for collections |
185
+
|:heavy_check_mark:**MUST** support server-side pagination for large collections |
186
186
|:ballot_box_with_check:**SHOULD** support pagination $top, $skip and $count for collections |
187
187
188
188
The query options part of an OData URL can be quite long, potentially exceeding
@@ -204,8 +204,8 @@ Limitations of \$query requests made to Microsoft Graph:
204
204
205
205
### Resource Modeling Patterns
206
206
207
-
You can model complex resources for your APIs using OData Entity Type or Complex Type. The main difference between these types is that Entity type declares a key property to uniquely identify its objects and Complex Type does not. In Microsoft Graph this key property has "id" as a prescribed name.
208
-
Since objects of complex types on Graph don’t have unique identifiers, they are not directly addressable via URIs and therefore you must not use Complex Type to model addressable resources. Complex types are better suited to represent composite properties of API entities.
207
+
You can model complex resources for your APIs using OData Entity Type or Complex Type. The main difference between these types is that Entity type declares a key property to uniquely identify its objects and Complex Type does not. In Microsoft Graph this key property is called "id" for server-created key values. If there is a natural name for the key property then the workload can use that.
208
+
Since objects of complex types on Graph don’t have unique identifiers, they are not directly addressable via URIs and therefore you must not use Complex Type to model addressable resources, such as individually addressable resources within a collection. Complex types are better suited to represent composite properties of API entities.
209
209
210
210
```XML
211
211
<EntityTypeName="Author">
@@ -383,10 +383,10 @@ breaking change.
383
383
- Addition of a required request header
384
384
- Addition of a EnumType members for non-evolvable enumerations
385
385
- Addition of a Nullable="false" properties to existing types
386
-
- Addition of a Nullable="false" parameters to existing actions and functions
386
+
- Addition of a parameter not marked as Nullable to existing actions or functions
387
+
- Addition of a parameter not marked as Optional to an existing function
387
388
- Changes to top-level error codes
388
389
- Introduction of server-side pagination to existing collections
389
-
- Changes to the default order of collection elements
390
390
- Significant changes to the performance of APIs such as increased latency, rate limits or concurrency.
391
391
392
392
@@ -403,7 +403,7 @@ Microsoft Graph provides two public endpoints to support API lifecycle:
403
403
1. API sets on the v1.0 endpoint (https://graph.microsoft.com/v1.0) are in general availability (GA) status.
404
404
2. API sets on the beta endpoint (https://graph.microsoft.com/beta) are in beta or private preview status.
405
405
406
-
Microsoft Graph APIs in the GA version guarantee API stability and consistency for its clients. If your API requires a breaking change in GA, then you MUST create new element versions and support deprecated elements for a minimum of 36 months.
406
+
Microsoft Graph APIs in the GA version guarantee API stability and consistency for its clients. If your API requires a breaking change in GA, then you MUST create new element versions and support deprecated elements for a minimum of 36 months or 24 months with demonstrated non-usage.
407
407
On the beta endpoint breaking changes and deprecation of APIs are allowed with consideration of dependencies and customer impact. It is best practice to test new element versions on the beta endpoint at first then promote API changes to the GA endpoint.
408
408
Detailed requirements for versioning and deprecation are described in the [Deprecation guidelines](./deprecation.md).
0 commit comments