diff --git a/vocabularies/Org.OData.Capabilities.V1.json b/vocabularies/Org.OData.Capabilities.V1.json index 9558559a..059a02e5 100644 --- a/vocabularies/Org.OData.Capabilities.V1.json +++ b/vocabularies/Org.OData.Capabilities.V1.json @@ -174,13 +174,17 @@ ], "@Core.Description": "Change tracking capabilities of this service or entity set" }, - "ChangeTrackingType": { + "ChangeTrackingBase": { "$Kind": "ComplexType", "Supported": { "$Type": "Edm.Boolean", "$DefaultValue": true, - "@Core.Description": "This entity set supports the odata.track-changes preference" - }, + "@Core.Description": "odata.track-changes preference is supported" + } + }, + "ChangeTrackingType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.ChangeTrackingBase", "FilterableProperties": { "$Collection": true, "$Type": "Edm.PropertyPath", @@ -199,19 +203,22 @@ "$Type": "Capabilities.CountRestrictionsType", "$AppliesTo": [ "EntitySet", - "Singleton", "Collection" ], "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on /$count path suffix and $count=true system query option" }, - "CountRestrictionsType": { + "CountRestrictionsBase": { "$Kind": "ComplexType", "Countable": { "$Type": "Edm.Boolean", "$DefaultValue": true, - "@Core.Description": "Entities can be counted (only valid if targeting an entity set)" - }, + "@Core.Description": "Instances can be counted in requests targeting a collection" + } + }, + "CountRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.CountRestrictionsBase", "NonCountableProperties": { "$Collection": true, "$Type": "Edm.PropertyPath", @@ -546,7 +553,7 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on filter expressions" }, - "FilterRestrictionsType": { + "FilterRestrictionsBase": { "$Kind": "ComplexType", "@Validation.ApplicableTerms": [ "Core.Description" @@ -561,6 +568,15 @@ "$DefaultValue": false, "@Core.Description": "$filter is required" }, + "MaxLevels": { + "$Type": "Edm.Int32", + "$DefaultValue": -1, + "@Core.Description": "The maximum number of levels (including recursion) that can be traversed in a filter expression. A value of -1 indicates there is no restriction." + } + }, + "FilterRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.FilterRestrictionsBase", "RequiredProperties": { "$Collection": true, "$Type": "Edm.PropertyPath", @@ -575,11 +591,6 @@ "$Collection": true, "$Type": "Capabilities.FilterExpressionRestrictionType", "@Core.Description": "These properties only allow a subset of filter expressions. A valid filter expression for a single property can be enclosed in parentheses and combined by `and` with valid expressions for other properties." - }, - "MaxLevels": { - "$Type": "Edm.Int32", - "$DefaultValue": -1, - "@Core.Description": "The maximum number of levels (including recursion) that can be traversed in a filter expression. A value of -1 indicates there is no restriction." } }, "FilterExpressionRestrictionType": { @@ -637,7 +648,7 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on orderby expressions" }, - "SortRestrictionsType": { + "SortRestrictionsBase": { "$Kind": "ComplexType", "@Validation.ApplicableTerms": [ "Core.Description" @@ -646,7 +657,11 @@ "$Type": "Edm.Boolean", "$DefaultValue": true, "@Core.Description": "$orderby is supported" - }, + } + }, + "SortRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.SortRestrictionsBase", "AscendingOnlyProperties": { "$Collection": true, "$Type": "Edm.PropertyPath", @@ -674,7 +689,7 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on expand expressions" }, - "ExpandRestrictionsType": { + "ExpandRestrictionsBase": { "$Kind": "ComplexType", "@Validation.ApplicableTerms": [ "Core.Description" @@ -689,6 +704,15 @@ "$DefaultValue": false, "@Core.Description": "$expand is supported for stream properties and media streams" }, + "MaxLevels": { + "$Type": "Edm.Int32", + "$DefaultValue": -1, + "@Core.Description": "The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction." + } + }, + "ExpandRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.ExpandRestrictionsBase", "NonExpandableProperties": { "$Collection": true, "$Type": "Edm.NavigationPropertyPath", @@ -699,11 +723,6 @@ "$Type": "Edm.PropertyPath", "@Core.Description": "These stream properties cannot be used in expand expressions", "@Core.RequiresType": "Edm.Stream" - }, - "MaxLevels": { - "$Type": "Edm.Int32", - "$DefaultValue": -1, - "@Core.Description": "The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction." } }, "SearchRestrictions": { @@ -776,28 +795,13 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on insert operations" }, - "InsertRestrictionsType": { + "InsertRestrictionsBase": { "$Kind": "ComplexType", "Insertable": { "$Type": "Edm.Boolean", "$DefaultValue": true, "@Core.Description": "Entities can be inserted" }, - "NonInsertableProperties": { - "$Collection": true, - "$Type": "Edm.PropertyPath", - "@Core.Description": "These structural properties cannot be specified on insert" - }, - "NonInsertableNavigationProperties": { - "$Collection": true, - "$Type": "Edm.NavigationPropertyPath", - "@Core.Description": "These navigation properties do not allow deep inserts" - }, - "RequiredProperties": { - "$Collection": true, - "$Type": "Edm.PropertyPath", - "@Core.Description": "These structural properties must be specified on insert" - }, "MaxLevels": { "$Type": "Edm.Int32", "$DefaultValue": -1, @@ -808,12 +812,6 @@ "$DefaultValue": true, "@Core.Description": "Entities of a specific derived type can be created by specifying a type-cast segment" }, - "Permissions": { - "$Collection": true, - "$Type": "Capabilities.PermissionType", - "$Nullable": true, - "@Core.Description": "Required permissions. One of the specified sets of scopes is required to perform the insert." - }, "QueryOptions": { "$Type": "Capabilities.ModificationQueryOptionsType", "$Nullable": true, @@ -845,6 +843,31 @@ "@Core.Description": "Possible error responses returned by the request." } }, + "InsertRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.InsertRestrictionsBase", + "NonInsertableProperties": { + "$Collection": true, + "$Type": "Edm.PropertyPath", + "@Core.Description": "These structural properties cannot be specified on insert" + }, + "NonInsertableNavigationProperties": { + "$Collection": true, + "$Type": "Edm.NavigationPropertyPath", + "@Core.Description": "These navigation properties do not allow deep inserts" + }, + "RequiredProperties": { + "$Collection": true, + "$Type": "Edm.PropertyPath", + "@Core.Description": "These structural properties must be specified on insert" + }, + "Permissions": { + "$Collection": true, + "$Type": "Capabilities.PermissionType", + "$Nullable": true, + "@Core.Description": "Required permissions. One of the specified sets of scopes is required to perform the insert." + } + }, "PermissionType": { "$Kind": "ComplexType", "SchemeName": { @@ -904,7 +927,7 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on update operations" }, - "UpdateRestrictionsType": { + "UpdateRestrictionsBase": { "$Kind": "ComplexType", "Updatable": { "$Type": "Edm.Boolean", @@ -936,21 +959,6 @@ "$DefaultValue": true, "@Core.Description": "Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment" }, - "NonUpdatableProperties": { - "$Collection": true, - "$Type": "Edm.PropertyPath", - "@Core.Description": "These structural properties cannot be updated" - }, - "NonUpdatableNavigationProperties": { - "$Collection": true, - "$Type": "Edm.NavigationPropertyPath", - "@Core.Description": "These navigation properties do not allow rebinding" - }, - "RequiredProperties": { - "$Collection": true, - "$Type": "Edm.PropertyPath", - "@Core.Description": "These structural properties must be specified on update" - }, "MaxLevels": { "$Type": "Edm.Int32", "$DefaultValue": -1, @@ -993,6 +1001,25 @@ "@Core.Description": "Possible error responses returned by the request." } }, + "UpdateRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.UpdateRestrictionsBase", + "NonUpdatableProperties": { + "$Collection": true, + "$Type": "Edm.PropertyPath", + "@Core.Description": "These structural properties cannot be specified on update" + }, + "NonUpdatableNavigationProperties": { + "$Collection": true, + "$Type": "Edm.NavigationPropertyPath", + "@Core.Description": "These navigation properties do not allow rebinding" + }, + "RequiredProperties": { + "$Collection": true, + "$Type": "Edm.PropertyPath", + "@Core.Description": "These structural properties must be specified on update" + } + }, "HttpMethod": { "$Kind": "EnumType", "$IsFlags": true, @@ -1046,18 +1073,13 @@ "@Core.AppliesViaContainer": true, "@Core.Description": "Restrictions on delete operations" }, - "DeleteRestrictionsType": { + "DeleteRestrictionsBase": { "$Kind": "ComplexType", "Deletable": { "$Type": "Edm.Boolean", "$DefaultValue": true, "@Core.Description": "Entities can be deleted" }, - "NonDeletableNavigationProperties": { - "$Collection": true, - "$Type": "Edm.NavigationPropertyPath", - "@Core.Description": "These navigation properties do not allow DeleteLink requests" - }, "MaxLevels": { "$Type": "Edm.Int32", "$DefaultValue": -1, @@ -1105,6 +1127,15 @@ "@Core.Description": "Possible error responses returned by the request." } }, + "DeleteRestrictionsType": { + "$Kind": "ComplexType", + "$BaseType": "Capabilities.DeleteRestrictionsBase", + "NonDeletableNavigationProperties": { + "$Collection": true, + "$Type": "Edm.NavigationPropertyPath", + "@Core.Description": "These navigation properties do not allow DeleteLink requests" + } + }, "CollectionPropertyRestrictions": { "$Kind": "Term", "$Collection": true, @@ -1428,6 +1459,98 @@ "@Core.RequiresType": "Edm.Stream", "@Core.Description": "Stream property or media stream supports update of its media edit URL and/or media read URL" }, + "DefaultCapabilities": { + "$Kind": "Term", + "$Type": "Capabilities.DefaultCapabilitiesType", + "$AppliesTo": [ + "EntityContainer" + ], + "@Core.Description": "Default capability settings for all collection-valued resources in the container", + "@Core.LongDescription": "Annotating a specific capability term, which is included as property in `DefaultCapabilitiesType`, for a specific collection-valued resource overrides the default capability with the specified properties using PATCH semantics:\n\n- Primitive or collection-valued properties specified in the specific capability term replace the corresponding properties specified in `DefaultCapabilities`\n\n- Complex-valued properties specified in the specific capability term override the corresponding properties specified in `DefaultCapabilities` using PATCH semantics recursively\n\n- Properties specified neither in the specific term nor in `DefaultCapabilities` have their default value\n " + }, + "DefaultCapabilitiesType": { + "$Kind": "ComplexType", + "ChangeTracking": { + "$Type": "Capabilities.ChangeTrackingBase", + "$Nullable": true, + "@Core.Description": "Change tracking capabilities" + }, + "CountRestrictions": { + "$Type": "Capabilities.CountRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on /$count path suffix and $count=true system query option" + }, + "IndexableByKey": { + "$Type": "Core.Tag", + "$Nullable": true, + "@Core.Description": "Supports key values according to OData URL conventions" + }, + "TopSupported": { + "$Type": "Core.Tag", + "$Nullable": true, + "@Core.Description": "Supports $top" + }, + "SkipSupported": { + "$Type": "Core.Tag", + "$Nullable": true, + "@Core.Description": "Supports $skip" + }, + "ComputeSupported": { + "$Type": "Core.Tag", + "$Nullable": true, + "@Core.Description": "Supports $compute" + }, + "SelectSupport": { + "$Type": "Capabilities.SelectSupportType", + "$Nullable": true, + "@Core.Description": "Support for $select and nested query options within $select" + }, + "FilterRestrictions": { + "$Type": "Capabilities.FilterRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on filter expressions" + }, + "SortRestrictions": { + "$Type": "Capabilities.SortRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on orderby expressions" + }, + "ExpandRestrictions": { + "$Type": "Capabilities.ExpandRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on expand expressions" + }, + "SearchRestrictions": { + "$Type": "Capabilities.SearchRestrictionsType", + "$Nullable": true, + "@Core.Description": "Restrictions on search expressions" + }, + "InsertRestrictions": { + "$Type": "Capabilities.InsertRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on insert operations" + }, + "UpdateRestrictions": { + "$Type": "Capabilities.UpdateRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on update operations" + }, + "DeleteRestrictions": { + "$Type": "Capabilities.DeleteRestrictionsBase", + "$Nullable": true, + "@Core.Description": "Restrictions on delete operations" + }, + "OperationRestrictions": { + "$Type": "Capabilities.OperationRestrictionsType", + "$Nullable": true, + "@Core.Description": "Restrictions for function or action operations" + }, + "ReadRestrictions": { + "$Type": "Capabilities.ReadRestrictionsType", + "$Nullable": true, + "@Core.Description": "Restrictions for retrieving a collection of entities, retrieving a singleton instance" + } + }, "HttpResponse": { "$Kind": "ComplexType", "StatusCode": { diff --git a/vocabularies/Org.OData.Capabilities.V1.md b/vocabularies/Org.OData.Capabilities.V1.md index b5b44620..99ce1104 100644 --- a/vocabularies/Org.OData.Capabilities.V1.md +++ b/vocabularies/Org.OData.Capabilities.V1.md @@ -57,35 +57,36 @@ Term|Type|Description [CrossJoinSupported](./Org.OData.Capabilities.V1.xml#L165:~:text=Supports cross joins for the entity sets in this container [CallbackSupported](./Org.OData.Capabilities.V1.xml#L169:~:text=Supports callbacks for the specified protocols [ChangeTracking](./Org.OData.Capabilities.V1.xml#L191:~:text=Change tracking capabilities of this service or entity set -[CountRestrictions](./Org.OData.Capabilities.V1.xml#L210:~:text=Restrictions on /$count path suffix and $count=true system query option -[NavigationRestrictions](./Org.OData.Capabilities.V1.xml#L226:~:text=Restrictions on navigating properties according to OData URL conventions
Restrictions specified on an entity set are valid whether the request is directly to the entity set or through a navigation property bound to that entity set. Services can specify a different set of restrictions specific to a path, in which case the more specific restrictions take precedence. -[IndexableByKey](./Org.OData.Capabilities.V1.xml#L317:~:text=Supports key values according to OData URL conventions -[TopSupported](./Org.OData.Capabilities.V1.xml#L322:~:text=Supports $top -[SkipSupported](./Org.OData.Capabilities.V1.xml#L327:~:text=Supports $skip -[ComputeSupported](./Org.OData.Capabilities.V1.xml#L332:~:text=Supports $compute -[SelectSupport](./Org.OData.Capabilities.V1.xml#L337:~:text=Support for $select and nested query options within $select -[BatchSupported](./Org.OData.Capabilities.V1.xml#L374:~:text=Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term. -[BatchSupport](./Org.OData.Capabilities.V1.xml#L378:~:text=Batch Support for the service -[FilterFunctions](./Org.OData.Capabilities.V1.xml#L424:~:text=List of functions and operators supported in filter expressions
If not specified, null, or empty, all functions and operators may be attempted. -[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L430:~:text=Restrictions on filter expressions -[SortRestrictions](./Org.OData.Capabilities.V1.xml#L500:~:text=Restrictions on orderby expressions -[ExpandRestrictions](./Org.OData.Capabilities.V1.xml#L524:~:text=Restrictions on expand expressions -[SearchRestrictions](./Org.OData.Capabilities.V1.xml#L552:~:text=Restrictions on search expressions -[KeyAsSegmentSupported](./Org.OData.Capabilities.V1.xml#L590:~:text=Supports [key-as-segment convention](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_KeyasSegmentConvention) for addressing entities within a collection -[QuerySegmentSupported](./Org.OData.Capabilities.V1.xml#L594:~:text=Supports [passing query options in the request body](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_PassingQueryOptionsintheRequestBody) -[InsertRestrictions](./Org.OData.Capabilities.V1.xml#L600:~:text=Restrictions on insert operations -[DeepInsertSupport](./Org.OData.Capabilities.V1.xml#L677:~:text=Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) -[UpdateRestrictions](./Org.OData.Capabilities.V1.xml#L690:~:text=Restrictions on update operations -[DeepUpdateSupport](./Org.OData.Capabilities.V1.xml#L774:~:text=Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) -[DeleteRestrictions](./Org.OData.Capabilities.V1.xml#L787:~:text=Restrictions on delete operations -[CollectionPropertyRestrictions](./Org.OData.Capabilities.V1.xml#L829:~:text=Describes restrictions on operations applied to collection-valued structural properties -[OperationRestrictions](./Org.OData.Capabilities.V1.xml#L870:~:text=Restrictions for function or action operation -[AnnotationValuesInQuerySupported](./Org.OData.Capabilities.V1.xml#L890:~:text=Supports annotation values within system query options -[ModificationQueryOptions](./Org.OData.Capabilities.V1.xml#L894:~:text=Support for query options with modification requests (insert, update, action invocation) -[ReadRestrictions](./Org.OData.Capabilities.V1.xml#L918:~:text=Restrictions for retrieving a collection of entities, retrieving a singleton instance. -[CustomHeaders](./Org.OData.Capabilities.V1.xml#L960:~:text=Custom headers that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L962)) -[CustomQueryOptions](./Org.OData.Capabilities.V1.xml#L986:~:text=Custom query options that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L989))
If the entity container is annotated, the query option is supported/required by all resources in that container. -[MediaLocationUpdateSupported](./Org.OData.Capabilities.V1.xml#L1038:~:text=Stream property or media stream supports update of its media edit URL and/or media read URL +[CountRestrictions](./Org.OData.Capabilities.V1.xml#L212:~:text=Restrictions on /$count path suffix and $count=true system query option +[NavigationRestrictions](./Org.OData.Capabilities.V1.xml#L230:~:text=Restrictions on navigating properties according to OData URL conventions
Restrictions specified on an entity set are valid whether the request is directly to the entity set or through a navigation property bound to that entity set. Services can specify a different set of restrictions specific to a path, in which case the more specific restrictions take precedence. +[IndexableByKey](./Org.OData.Capabilities.V1.xml#L321:~:text=Supports key values according to OData URL conventions +[TopSupported](./Org.OData.Capabilities.V1.xml#L326:~:text=Supports $top +[SkipSupported](./Org.OData.Capabilities.V1.xml#L331:~:text=Supports $skip +[ComputeSupported](./Org.OData.Capabilities.V1.xml#L336:~:text=Supports $compute +[SelectSupport](./Org.OData.Capabilities.V1.xml#L341:~:text=Support for $select and nested query options within $select +[BatchSupported](./Org.OData.Capabilities.V1.xml#L378:~:text=Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term. +[BatchSupport](./Org.OData.Capabilities.V1.xml#L382:~:text=Batch Support for the service +[FilterFunctions](./Org.OData.Capabilities.V1.xml#L428:~:text=List of functions and operators supported in filter expressions
If not specified, null, or empty, all functions and operators may be attempted. +[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L434:~:text=Restrictions on filter expressions +[SortRestrictions](./Org.OData.Capabilities.V1.xml#L506:~:text=Restrictions on orderby expressions +[ExpandRestrictions](./Org.OData.Capabilities.V1.xml#L532:~:text=Restrictions on expand expressions +[SearchRestrictions](./Org.OData.Capabilities.V1.xml#L562:~:text=Restrictions on search expressions +[KeyAsSegmentSupported](./Org.OData.Capabilities.V1.xml#L600:~:text=Supports [key-as-segment convention](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_KeyasSegmentConvention) for addressing entities within a collection +[QuerySegmentSupported](./Org.OData.Capabilities.V1.xml#L604:~:text=Supports [passing query options in the request body](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_PassingQueryOptionsintheRequestBody) +[InsertRestrictions](./Org.OData.Capabilities.V1.xml#L610:~:text=Restrictions on insert operations +[DeepInsertSupport](./Org.OData.Capabilities.V1.xml#L689:~:text=Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[UpdateRestrictions](./Org.OData.Capabilities.V1.xml#L702:~:text=Restrictions on update operations +[DeepUpdateSupport](./Org.OData.Capabilities.V1.xml#L788:~:text=Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[DeleteRestrictions](./Org.OData.Capabilities.V1.xml#L801:~:text=Restrictions on delete operations +[CollectionPropertyRestrictions](./Org.OData.Capabilities.V1.xml#L845:~:text=Describes restrictions on operations applied to collection-valued structural properties +[OperationRestrictions](./Org.OData.Capabilities.V1.xml#L886:~:text=Restrictions for function or action operation +[AnnotationValuesInQuerySupported](./Org.OData.Capabilities.V1.xml#L906:~:text=Supports annotation values within system query options +[ModificationQueryOptions](./Org.OData.Capabilities.V1.xml#L910:~:text=Support for query options with modification requests (insert, update, action invocation) +[ReadRestrictions](./Org.OData.Capabilities.V1.xml#L934:~:text=Restrictions for retrieving a collection of entities, retrieving a singleton instance. +[CustomHeaders](./Org.OData.Capabilities.V1.xml#L976:~:text=Custom headers that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L978)) +[CustomQueryOptions](./Org.OData.Capabilities.V1.xml#L1002:~:text=Custom query options that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L1005))
If the entity container is annotated, the query option is supported/required by all resources in that container. +[MediaLocationUpdateSupported](./Org.OData.Capabilities.V1.xml#L1054:~:text=Stream property or media stream supports update of its media edit URL and/or media read URL +[DefaultCapabilities](./Org.OData.Capabilities.V1.xml#L1059:~:text=Default capability settings for all collection-valued resources in the container
Annotating a specific capability term, which is included as property in `DefaultCapabilitiesType`, for a specific collection-valued resource overrides the default capability with the specified properties using PATCH semantics:
- Primitive or collection-valued properties specified in the specific capability term replace the corresponding properties specified in `DefaultCapabilities`
- Complex-valued properties specified in the specific capability term override the corresponding properties specified in `DefaultCapabilities` using PATCH semantics recursively
- Properties specified neither in the specific term nor in `DefaultCapabilities` have their default value ## [ConformanceLevelType](./Org.OData.Capabilities.V1.xml#L118:~:text= +## [ChangeTrackingBase](./Org.OData.Capabilities.V1.xml#L194:~:text= -## [ChangeTrackingType](./Org.OData.Capabilities.V1.xml#L194:~:text=If no properties are specified or FilterableProperties is omitted, clients cannot assume support for filtering on any properties in combination with change tracking. -[ExpandableProperties](./Org.OData.Capabilities.V1.xml#L202:~:text=If no properties are specified or ExpandableProperties is omitted, clients cannot assume support for expanding any properties in combination with change tracking. +[*Supported*](./Org.OData.Capabilities.V1.xml#L195:~:text=If no properties are specified or FilterableProperties is omitted, clients cannot assume support for filtering on any properties in combination with change tracking. +[ExpandableProperties](./Org.OData.Capabilities.V1.xml#L204:~:text=If no properties are specified or ExpandableProperties is omitted, clients cannot assume support for expanding any properties in combination with change tracking. + + +## [CountRestrictionsBase](./Org.OData.Capabilities.V1.xml#L216:~:text= -## [CountRestrictionsType](./Org.OData.Capabilities.V1.xml#L214:~:text= -## [NavigationRestrictionsType](./Org.OData.Capabilities.V1.xml#L231:~:text= -## [NavigationPropertyRestriction](./Org.OData.Capabilities.V1.xml#L239:~:text=The target path of a [`NavigationRestrictions`](#NavigationRestrictions) annotation followed by this navigation property path addresses the resource to which the other properties of `NavigationPropertyRestriction` apply. Instance paths that occur in dynamic expressions are evaluated starting at the boundary between both paths, which must therefore be chosen accordingly. -[Navigability](./Org.OData.Capabilities.V1.xml#L255:~:text=If not specified, null, or empty, all functions and operators may be attempted. -[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L262:~:text=The target path of a [`NavigationRestrictions`](#NavigationRestrictions) annotation followed by this navigation property path addresses the resource to which the other properties of `NavigationPropertyRestriction` apply. Instance paths that occur in dynamic expressions are evaluated starting at the boundary between both paths, which must therefore be chosen accordingly. +[Navigability](./Org.OData.Capabilities.V1.xml#L259:~:text=If not specified, null, or empty, all functions and operators may be attempted. +[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L266:~:text= -## [NavigationType](./Org.OData.Capabilities.V1.xml#L305:~:text= -## [SelectSupportType](./Org.OData.Capabilities.V1.xml#L341:~:text= -## [BatchSupportType](./Org.OData.Capabilities.V1.xml#L381:~:text=Allowed values:
[multipart/mixed](./Org.OData.Capabilities.V1.xml#L411)
[Multipart Batch Format](http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_MultipartBatchFormat)
[application/json](./Org.OData.Capabilities.V1.xml#L415)
[JSON Batch Format](http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_BatchRequestsandResponses) +[Supported](./Org.OData.Capabilities.V1.xml#L392:~:text=Allowed values:
[multipart/mixed](./Org.OData.Capabilities.V1.xml#L415)
[Multipart Batch Format](http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_MultipartBatchFormat)
[application/json](./Org.OData.Capabilities.V1.xml#L419)
[JSON Batch Format](http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_BatchRequestsandResponses) **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) - [LongDescription](Org.OData.Core.V1.md#LongDescription) + +## [FilterRestrictionsBase](./Org.OData.Capabilities.V1.xml#L438:~:text= -## [FilterRestrictionsType](./Org.OData.Capabilities.V1.xml#L434:~:text= -## [FilterExpressionRestrictionType](./Org.OData.Capabilities.V1.xml#L459:~:text= -## [FilterExpressionType](./Org.OData.Capabilities.V1.xml#L467:~:text=The filter expression for this property consists of one or more interval expressions combined by `or`. A single interval expression is either a single comparison of the property and a literal value with `eq`, `le`, `lt`, `ge`, or `gt`, or pair of boundaries combined by `and` and enclosed in parentheses. The lower boundary is either `ge` or `gt`, the upper boundary either `le` or `lt`. -[SearchExpression](./Org.OData.Capabilities.V1.xml#L487:~:text=The filter expression for this property consists of one or more interval expressions or string comparison functions combined by `or`. See MultiRange for a definition of an interval expression. See SearchExpression for the allowed string comparison functions. +[SingleValue](./Org.OData.Capabilities.V1.xml#L476:~:text=The filter expression for this property consists of one or more interval expressions combined by `or`. A single interval expression is either a single comparison of the property and a literal value with `eq`, `le`, `lt`, `ge`, or `gt`, or pair of boundaries combined by `and` and enclosed in parentheses. The lower boundary is either `ge` or `gt`, the upper boundary either `le` or `lt`. +[SearchExpression](./Org.OData.Capabilities.V1.xml#L493:~:text=The filter expression for this property consists of one or more interval expressions or string comparison functions combined by `or`. See MultiRange for a definition of an interval expression. See SearchExpression for the allowed string comparison functions. + + +## [SortRestrictionsBase](./Org.OData.Capabilities.V1.xml#L510:~:text= -## [SortRestrictionsType](./Org.OData.Capabilities.V1.xml#L504:~:text= +## [ExpandRestrictionsBase](./Org.OData.Capabilities.V1.xml#L536:~:text= -## [ExpandRestrictionsType](./Org.OData.Capabilities.V1.xml#L528:~:text= -## [SearchRestrictionsType](./Org.OData.Capabilities.V1.xml#L556:~:text= -## [SearchExpressions](./Org.OData.Capabilities.V1.xml#L569:~:text= +## [InsertRestrictionsBase](./Org.OData.Capabilities.V1.xml#L614:~:text= -## [InsertRestrictionsType](./Org.OData.Capabilities.V1.xml#L604:~:text= -## [PermissionType](./Org.OData.Capabilities.V1.xml#L648:~:text= -## [ScopeType](./Org.OData.Capabilities.V1.xml#L657:~:text=Possible string value identifiers when specifying properties are `*`, _PropertyName_, `-`_PropertyName_.
`*` denotes all properties are accessible.
`-`_PropertyName_ excludes that specific property.
_PropertyName_ explicitly provides access to the specific property.
The absence of `RestrictedProperties` denotes all properties are accessible using that scope. +[Scope](./Org.OData.Capabilities.V1.xml#L670:~:text=Possible string value identifiers when specifying properties are `*`, _PropertyName_, `-`_PropertyName_.
`*` denotes all properties are accessible.
`-`_PropertyName_ excludes that specific property.
_PropertyName_ explicitly provides access to the specific property.
The absence of `RestrictedProperties` denotes all properties are accessible using that scope. -## [DeepInsertSupportType](./Org.OData.Capabilities.V1.xml#L681:~:text= +## [UpdateRestrictionsBase](./Org.OData.Capabilities.V1.xml#L706:~:text= -## [UpdateRestrictionsType](./Org.OData.Capabilities.V1.xml#L694:~:text= -## [HttpMethod](./Org.OData.Capabilities.V1.xml#L750:~:text= -## [DeepUpdateSupportType](./Org.OData.Capabilities.V1.xml#L778:~:text= +## [DeleteRestrictionsBase](./Org.OData.Capabilities.V1.xml#L805:~:text= -## [DeleteRestrictionsType](./Org.OData.Capabilities.V1.xml#L791:~:text= -## [CollectionPropertyRestrictionsType](./Org.OData.Capabilities.V1.xml#L832:~:text=If not specified, null, or empty, all functions and operators may be attempted. -[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L840:~:text=If additionally annotated with [Core.PositionalInsert](Org.OData.Core.V1.md#PositionalInsert), members can be inserted at a specific position -[Updatable](./Org.OData.Capabilities.V1.xml#L862:~:text=If not specified, null, or empty, all functions and operators may be attempted. +[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L856:~:text=If additionally annotated with [Core.PositionalInsert](Org.OData.Core.V1.md#PositionalInsert), members can be inserted at a specific position +[Updatable](./Org.OData.Capabilities.V1.xml#L878:~:text= -## [OperationRestrictionsType](./Org.OData.Capabilities.V1.xml#L873:~:text= -## [ModificationQueryOptionsType](./Org.OData.Capabilities.V1.xml#L897:~:text= -## [*ReadRestrictionsBase*](./Org.OData.Capabilities.V1.xml#L922:~:text= -## [ReadByKeyRestrictionsType](./Org.OData.Capabilities.V1.xml#L947:~:text= -## [ReadRestrictionsType](./Org.OData.Capabilities.V1.xml#L950:~:text=Only valid when applied to a collection. If a property of `ReadByKeyRestrictions` is not specified, the corresponding property value of `ReadRestrictions` applies. +[*Readable*](./Org.OData.Capabilities.V1.xml#L939:~:text=Only valid when applied to a collection. If a property of `ReadByKeyRestrictions` is not specified, the corresponding property value of `ReadRestrictions` applies. -## [CustomParameter](./Org.OData.Capabilities.V1.xml#L1017:~:text= +## [DefaultCapabilitiesType](./Org.OData.Capabilities.V1.xml#L1072:~:text= -## [HttpResponse](./Org.OData.Capabilities.V1.xml#L1043:~:text= - + - + + + @@ -207,14 +209,16 @@ supported: - + - + - + + + @@ -431,7 +435,7 @@ supported: - + Core.Description @@ -443,6 +447,11 @@ supported: + + + + + @@ -452,9 +461,6 @@ supported: - - - @@ -501,7 +507,7 @@ supported: - + Core.Description @@ -510,6 +516,8 @@ supported: + + @@ -525,7 +533,7 @@ supported: - + Core.Description @@ -537,6 +545,11 @@ supported: + + + + + @@ -544,9 +557,6 @@ supported: - - - @@ -601,28 +611,16 @@ supported: - + - - - - - - - - - - - - @@ -644,6 +642,20 @@ supported: + + + + + + + + + + + + + + @@ -691,7 +703,7 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin - + @@ -710,15 +722,6 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin - - - - - - - - - @@ -746,6 +749,17 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin + + + + + + + + + + + @@ -788,13 +802,10 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin - + - - - @@ -825,6 +836,11 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin + + + + + @@ -1040,6 +1056,70 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin + + + + Annotating a specific capability term, which is included as property in `DefaultCapabilitiesType`, for a specific collection-valued resource overrides the default capability with the specified properties using PATCH semantics: + +- Primitive or collection-valued properties specified in the specific capability term replace the corresponding properties specified in `DefaultCapabilities` + +- Complex-valued properties specified in the specific capability term override the corresponding properties specified in `DefaultCapabilities` using PATCH semantics recursively + +- Properties specified neither in the specific term nor in `DefaultCapabilities` have their default value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +