From 5a343ff15afb8322b822a9ed91cd14c393cc20a3 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Wed, 28 Feb 2024 18:44:15 +0100 Subject: [PATCH 1/5] ODATA-1214 - tag for constructor actions (#237) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ODATA-1214 * Rephrased --------- Co-authored-by: Heiko Theißen --- vocabularies/Org.OData.Core.V1.json | 9 +++++++++ vocabularies/Org.OData.Core.V1.md | 1 + vocabularies/Org.OData.Core.V1.xml | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index 2d000672..81618dbf 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -737,6 +737,15 @@ ], "@Core.Description": "Instances of a type are annotated with this tag if they have no common structure in a given response payload", "@Core.LongDescription": "The select-list of a context URL MUST be `(@Core.AnyStructure)` if it would otherwise be empty,\n but this instance annotation SHOULD be omitted from the response value." + }, + "Constructor": { + "$Kind": "Term", + "$Type": "Core.Tag", + "$DefaultValue": true, + "$AppliesTo": [ + "Action" + ], + "@Core.Description": "On success the annotated action creates a new entity" } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index f9fc51b5..d04980f9 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -51,6 +51,7 @@ Term|Type|Description [SymbolicName](./Org.OData.Core.V1.xml#L536:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L545:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing [AnyStructure](./Org.OData.Core.V1.xml#L561:~:text=Instances of a type are annotated with this tag if they have no common structure in a given response payload
The select-list of a context URL MUST be `(@Core.AnyStructure)` if it would otherwise be empty, but this instance annotation SHOULD be omitted from the response value. +[Constructor](./Org.OData.Core.V1.xml#L569:~:text=On success the annotated action creates a new entity ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text= + + + + From 4b3d0bda986c2c4f9323dd130cd8a45c93e07553 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Wed, 8 May 2024 18:46:59 +0200 Subject: [PATCH 2/5] JSON: function "query" (#157) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Function "query" * Added "value" function, defined processing rules * Recommended and optional expressions * Aligned terminology with draft RFC * Examples * Long description of the vocabulary * Update Org.OData.JSON.V1.Schema-sample.xml * Update Org.OData.JSON.V1.xml * Function "value" isn't composable * Use JSONPath draft 20 * Additional JSONPath constructs are examples only, no restriction * JSONPath is now an RFC * Update links * Align with RFC text * MUST for minimum functionality * JSON data instead of JSON stream * name=value syntax for function calls * Update vocabularies/Org.OData.JSON.V1.xml Co-authored-by: Heiko Theißen * Update Org.OData.JSON.V1.xml * Heiko's comment * Return-type-specific value functions * Example for valueNumber * Apply suggestions from code review * Rebuilt * Formatting * Revert unintended line breaks * Reference example, don't copy it --------- Co-authored-by: D024504 --- examples/Org.OData.JSON.V1.Schema-sample.json | 24 ++- examples/Org.OData.JSON.V1.Schema-sample.xml | 18 +- vocabularies/Org.OData.JSON.V1.json | 120 +++++++++++- vocabularies/Org.OData.JSON.V1.md | 167 ++++++++++++++++- vocabularies/Org.OData.JSON.V1.xml | 175 +++++++++++++++++- 5 files changed, 493 insertions(+), 11 deletions(-) diff --git a/examples/Org.OData.JSON.V1.Schema-sample.json b/examples/Org.OData.JSON.V1.Schema-sample.json index 962d6fdb..32cf3079 100644 --- a/examples/Org.OData.JSON.V1.Schema-sample.json +++ b/examples/Org.OData.JSON.V1.Schema-sample.json @@ -19,6 +19,27 @@ } }, "json.schema.sample": { + "$Alias": "this", + "container": { + "$Kind": "EntityContainer", + "Employees": { + "$Collection": true, + "$Type": "this.Employee" + } + }, + "Employee": { + "$Kind": "EntityType", + "$Key": [ + "empid" + ], + "empid": { + "$Type": "Edm.Int32" + }, + "resume": { + "$Type": "JSON.JSON", + "$Nullable": true + } + }, "example": { "$Kind": "ComplexType", "CodeDictionary": { @@ -37,5 +58,6 @@ } } } - } + }, + "$EntityContainer": "json.schema.sample.container" } \ No newline at end of file diff --git a/examples/Org.OData.JSON.V1.Schema-sample.xml b/examples/Org.OData.JSON.V1.Schema-sample.xml index 6a7999b7..4cd067de 100644 --- a/examples/Org.OData.JSON.V1.Schema-sample.xml +++ b/examples/Org.OData.JSON.V1.Schema-sample.xml @@ -1,4 +1,4 @@ - + @@ -7,7 +7,19 @@ - + + + + + + + + + + + + + @@ -22,4 +34,4 @@ - \ No newline at end of file + diff --git a/vocabularies/Org.OData.JSON.V1.json b/vocabularies/Org.OData.JSON.V1.json index 2b6cefb6..953b52c6 100644 --- a/vocabularies/Org.OData.JSON.V1.json +++ b/vocabularies/Org.OData.JSON.V1.json @@ -12,7 +12,8 @@ }, "Org.OData.JSON.V1": { "$Alias": "JSON", - "@Core.Description": "Terms for JSON properties", + "@Core.Description": "Terms, types, and functions for JSON data", + "@Core.LongDescription": "OData [stream properties](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_ManagingStreamProperties) allow embedding data of arbitrary media types,\nand the OData JSON format allows [direct embedding of JSON data](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_StreamProperty) in request and response payloads.\n\nThis vocabulary defines a convenience [type for JSON data](#JSON) as well as a term for referencing a [JSON Schema](#Schema) describing the structure of the JSON data.\n\nIn addition it defines two functions for [querying](#query) JSON data and using a [primitive value](#value) extracted from JSON data in common expressions, for example in `$filter`, `$orderby`, or `$compute`.\n\n**Example**\n\nThe `Employees` entity set has a JSON data property `resume` (see [CSDL JSON](../examples/Org.OData.JSON.V1.Schema-sample.json) or [CSDL XML](../examples/Org.OData.JSON.V1.Schema-sample.xml)).\n\nOne of its entities has a `resume` value of\n```json\n{ \n \"ssn\": \"1234\", \n \"lastname\": \"Doe\", \n \"address\": {\n \"zipcode\": \"10022\", \n \"street\": \"ABC st\"\n },\n \"experience\": \"excellent\"\n}\n```\n\nThis allows to filter and sort by values in that resume, and extract parts of the resume as a dynamic JSON data property\n```http\nGET http://www.example.com/mycompany/Employees\n ?$filter=resume/JSON.value(path='$.lastname') eq 'Doe'\n &$orderby=resume/JSON.valueNumber(path='$.experience')\n &$compute=resume/JSON.query(path='$.address') as address\n &$expand=address\n```\nreceiving\n```json\n{ \n \"@odata.context\": \"$metadata#Employees\", \n \"value\": [ \n {\n \"empid\": 4711,\n \"address\": {\n \"zipcode\": \"10022\", \n \"street\": \"ABC st\"\n }\n },\n ...\n ]\n}\n```\n ", "@Core.Links": [ { "rel": "alternate", @@ -40,8 +41,117 @@ ], "@Core.RequiresType": "Edm.Stream", "@Core.Description": "The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition", - "@Core.LongDescription": "The schema can be a schema reference, i.e. `{\"$ref\":\"url/of/schemafile#/path/to/schema/within/schemafile\"}`" + "@Core.LongDescription": "The schema can be a reference, i.e. `{\"$ref\":\"url/of/schemafile#/path/to/schema/within/schemafile\"}`" }, + "query": [ + { + "$Kind": "Function", + "$IsBound": true, + "$IsComposable": true, + "@Core.Description": "Query a stream value of media type `application/json`, returning a stream value of media type `application/json`", + "@Core.LongDescription": "Extracts a JSON value, such as an array, object, or a JSON scalar value (string, number, boolean, or `null`) from the `input` JSON value:\n- If `path` only consists of the root identifier followed by name and index selectors, it returns the identified single node within `input`, or `null` if no node is identified. \n- If `path` potentially identifies multiple nodes within `input` (by using descendant, wildcard, union, array subset, or filter selectors), it returns an array containing the identified nodes, or an empty array if no node is identified. \n- If `input` is not a valid JSON value, the function returns `null`.\n- If `path` is `null`, not a valid [JSONPath expression](#Path), or does not match the structure of `input` (for example applying an index selector to a scalar value), the function returns `null`. \n ", + "$Parameter": [ + { + "$Name": "input", + "$Type": "JSON.JSON", + "$Nullable": true, + "@Core.Description": "JSON input" + }, + { + "$Name": "path", + "$Type": "JSON.Path", + "$Nullable": true, + "@Core.Description": "JSONPath expression to be applied to value of `expr`" + } + ], + "$ReturnType": { + "$Type": "JSON.JSON", + "$Nullable": true, + "@Core.Description": "JSON value resulting from applying `path` to `input`" + } + } + ], + "value": [ + { + "$Kind": "Function", + "$IsBound": true, + "@Core.Description": "Query a stream value of media type `application/json`, returning a string", + "@Core.LongDescription": "Extracts a single OData primitive value from the `input` JSON value and casts it to a string:\n- If `path` only consists of the root identifier followed by name and index selectors and identifies a single scalar JSON value (string, number, boolean, or `null`) within `input`, it returns the identified single value, cast to a string.\n- If `path` identifies multiple nodes within `input` (by using descendant, wildcard, union, array subset, or filter selectors), identifies an object or array, or does not identify any node, the function returns `null`.\n- If `input` is not a valid JSON value, the function returns `null`.\n- If `path` is `null`, not a valid [JSONPath expression](#Path), or does not match the structure of `input` (for example applying an index selector to a scalar value), the function returns `null`.", + "$Parameter": [ + { + "$Name": "input", + "$Type": "JSON.JSON", + "$Nullable": true, + "@Core.Description": "JSON input" + }, + { + "$Name": "path", + "$Type": "JSON.Path", + "$Nullable": true, + "@Core.Description": "JSONPath expression to be applied to value of `expr`" + } + ], + "$ReturnType": { + "$Nullable": true, + "@Core.Description": "String value resulting from applying `path` to `input`" + } + } + ], + "valueNumber": [ + { + "$Kind": "Function", + "$IsBound": true, + "@Core.Description": "Query a stream value of media type `application/json`, returning a number", + "@Core.LongDescription": "Like [`value`](#value), but casts the extracted value to an `Edm.Decimal` with unspecified precision and floating scale.\n Returns null if that cast fails.", + "$Parameter": [ + { + "$Name": "input", + "$Type": "JSON.JSON", + "$Nullable": true, + "@Core.Description": "JSON input" + }, + { + "$Name": "path", + "$Type": "JSON.Path", + "$Nullable": true, + "@Core.Description": "JSONPath expression to be applied to value of `expr`" + } + ], + "$ReturnType": { + "$Type": "Edm.Decimal", + "$Nullable": true, + "$Scale": "floating", + "@Core.Description": "Numeric value resulting from applying `path` to `input`" + } + } + ], + "valueBoolean": [ + { + "$Kind": "Function", + "$IsBound": true, + "@Core.Description": "Query a stream value of media type `application/json`, returning a Boolean", + "@Core.LongDescription": "Like [`value`](#value), but casts the extracted value to an `Edm.Boolean`.\n Returns null if that cast fails.", + "$Parameter": [ + { + "$Name": "input", + "$Type": "JSON.JSON", + "$Nullable": true, + "@Core.Description": "JSON input" + }, + { + "$Name": "path", + "$Type": "JSON.Path", + "$Nullable": true, + "@Core.Description": "JSONPath expression to be applied to value of `expr`" + } + ], + "$ReturnType": { + "$Type": "Edm.Boolean", + "$Nullable": true, + "@Core.Description": "Boolean value resulting from applying `path` to `input`" + } + } + ], "JSON": { "$Kind": "TypeDefinition", "$UnderlyingType": "Edm.Stream", @@ -50,6 +160,12 @@ "@Core.AcceptableMediaTypes": [ "application/json" ] + }, + "Path": { + "$Kind": "TypeDefinition", + "$UnderlyingType": "Edm.String", + "@Core.Description": "[JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) expression", + "@Core.LongDescription": "Implementations MUST support at least the following subset of JSONPath:\n\nSyntax Element | Description | Examples\n---------------|-------------|--------\n`$` | [root identifier](https://datatracker.ietf.org/doc/html/rfc9535#root-identifier) | `$`\n`[]` | [child segment](https://datatracker.ietf.org/doc/html/rfc9535#child-segment) selects one child of a node; contains one [name selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector) (single- or double-quoted string using JSON escaping rules) or [index selector](https://datatracker.ietf.org/doc/html/rfc9535#index-selector) (non-negative decimal integer) | `$['foo']`, `$.foo[\"bar\"]`, `$.bar[0]`, `$.bar[42]`\n`.name` | shorthand for `['name']` | `$.foo`, `$.foo.bar`, `$.bar[42].baz`\n\nImplementations MAY in addition support other JSONPath constructs, for example:\n\nSyntax Element | Description | Examples\n---------------|-------------|--------\n`[]` | index selector with negative integer array index (counts from the end of the array) | `$.bar[-1]`\n`[]` | non-empty, comma-separated sequence of selectors | `$.foo['bar','baz']`, `$.bar[0,1,2,3,5,7,11]`\n`..[]` | [descendant segment](https://datatracker.ietf.org/doc/html/rfc9535#descendant-segment): selects zero or more descendants of a node | `$.foo..[\"bar\"]`\n`..name` | shorthand for `..['name']` | `$.foo..bar`\n`*` | [wildcard selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector): selects all children of a node | `$.foo[*]`, `$[*]`\n`.*` | shorthand for `[*]` | `$.foo.*`, `$.*`\n`..*` | shorthand for `..[*]` | `$.foo..*`, `$..*`\n`[start:end]` | array subset by range of indices (including the item at _start_ and excluding the item at _end_ | `$.bar[2:5]`, same as `$.bar[2,3,4]`\n`[start:]` | array subset from _start_ to end of array | `$.bar[2:]`\n`[:n]` | the first _n_ array items | `$.bar[:4]`\n`[-n:]` | the last _n_ array items | `$.bar[-3:]`\n`[start:end:step]` | [array slice selector](https://datatracker.ietf.org/doc/html/rfc9535#slice) |\n`[?]` | [filter selector](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector): selects particular children using a logical expression | \n`@` | [current node identifier](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector) (valid only within filter selectors) | `$.bar[?@.baz==42]`\n\n**References for JSONPath**\n- RFC 9535: https://datatracker.ietf.org/doc/html/rfc9535\n- Historic site: https://goessner.net/articles/JsonPath/\n- Node.js implementation: https://www.npmjs.com/package/jsonpath\n- Java implementation: https://github.com/json-path/JsonPath\n- Online evaluator: https://jsonpath.com/\n " } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.JSON.V1.md b/vocabularies/Org.OData.JSON.V1.md index d10e30ce..ddf60902 100644 --- a/vocabularies/Org.OData.JSON.V1.md +++ b/vocabularies/Org.OData.JSON.V1.md @@ -1,17 +1,178 @@ # JSON Vocabulary **Namespace: [Org.OData.JSON.V1](Org.OData.JSON.V1.xml)** -Terms for JSON properties +Terms, types, and functions for JSON data + +OData [stream properties](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_ManagingStreamProperties) allow embedding data of arbitrary media types, +and the OData JSON format allows [direct embedding of JSON data](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_StreamProperty) in request and response payloads. + +This vocabulary defines a convenience [type for JSON data](#JSON) as well as a term for referencing a [JSON Schema](#Schema) describing the structure of the JSON data. + +In addition it defines two functions for [querying](#query) JSON data and using a [primitive value](#value) extracted from JSON data in common expressions, for example in `$filter`, `$orderby`, or `$compute`. + +**Example** + +The `Employees` entity set has a JSON data property `resume` (see [CSDL JSON](../examples/Org.OData.JSON.V1.Schema-sample.json) or [CSDL XML](../examples/Org.OData.JSON.V1.Schema-sample.xml)). + +One of its entities has a `resume` value of +```json +{ + "ssn": "1234", + "lastname": "Doe", + "address": { + "zipcode": "10022", + "street": "ABC st" + }, + "experience": "excellent" +} +``` + +This allows to filter and sort by values in that resume, and extract parts of the resume as a dynamic JSON data property +```http +GET http://www.example.com/mycompany/Employees + ?$filter=resume/JSON.value(path='$.lastname') eq 'Doe' + &$orderby=resume/JSON.valueNumber(path='$.experience') + &$compute=resume/JSON.query(path='$.address') as address + &$expand=address +``` +receiving +```json +{ + "@odata.context": "$metadata#Employees", + "value": [ + { + "empid": 4711, + "address": { + "zipcode": "10022", + "street": "ABC st" + } + }, + ... + ] +} +``` + ## Terms Term|Type|Description :---|:---|:---------- -[Schema](./Org.OData.JSON.V1.xml#L67:~:text=The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition
The schema can be a schema reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` +[Schema](./Org.OData.JSON.V1.xml#L119:~:text=The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition
The schema can be a reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` + + +## Functions + + +### [query](./Org.OData.JSON.V1.xml#L127:~:text= +### [value](./Org.OData.JSON.V1.xml#L150:~:text= +### [valueNumber](./Org.OData.JSON.V1.xml#L171:~:text= +### [valueBoolean](./Org.OData.JSON.V1.xml#L187:~:text= -## [JSON](./Org.OData.JSON.V1.xml#L75:~:text= +## [Path](./Org.OData.JSON.V1.xml#L215:~:text=]` | [child segment](https://datatracker.ietf.org/doc/html/rfc9535#child-segment) selects one child of a node; contains one [name selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector) (single- or double-quoted string using JSON escaping rules) or [index selector](https://datatracker.ietf.org/doc/html/rfc9535#index-selector) (non-negative decimal integer) | `$['foo']`, `$.foo["bar"]`, `$.bar[0]`, `$.bar[42]` +`.name` | shorthand for `['name']` | `$.foo`, `$.foo.bar`, `$.bar[42].baz` + +Implementations MAY in addition support other JSONPath constructs, for example: + +Syntax Element | Description | Examples +---------------|-------------|-------- +`[]` | index selector with negative integer array index (counts from the end of the array) | `$.bar[-1]` +`[]` | non-empty, comma-separated sequence of selectors | `$.foo['bar','baz']`, `$.bar[0,1,2,3,5,7,11]` +`..[]` | [descendant segment](https://datatracker.ietf.org/doc/html/rfc9535#descendant-segment): selects zero or more descendants of a node | `$.foo..["bar"]` +`..name` | shorthand for `..['name']` | `$.foo..bar` +`*` | [wildcard selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector): selects all children of a node | `$.foo[*]`, `$[*]` +`.*` | shorthand for `[*]` | `$.foo.*`, `$.*` +`..*` | shorthand for `..[*]` | `$.foo..*`, `$..*` +`[start:end]` | array subset by range of indices (including the item at _start_ and excluding the item at _end_ | `$.bar[2:5]`, same as `$.bar[2,3,4]` +`[start:]` | array subset from _start_ to end of array | `$.bar[2:]` +`[:n]` | the first _n_ array items | `$.bar[:4]` +`[-n:]` | the last _n_ array items | `$.bar[-3:]` +`[start:end:step]` | [array slice selector](https://datatracker.ietf.org/doc/html/rfc9535#slice) | +`[?]` | [filter selector](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector): selects particular children using a logical expression | +`@` | [current node identifier](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector) (valid only within filter selectors) | `$.bar[?@.baz==42]` + +**References for JSONPath** +- RFC 9535: https://datatracker.ietf.org/doc/html/rfc9535 +- Historic site: https://goessner.net/articles/JsonPath/ +- Node.js implementation: https://www.npmjs.com/package/jsonpath +- Java implementation: https://github.com/json-path/JsonPath +- Online evaluator: https://jsonpath.com/ + diff --git a/vocabularies/Org.OData.JSON.V1.xml b/vocabularies/Org.OData.JSON.V1.xml index 5b11dda6..bc37d7e2 100644 --- a/vocabularies/Org.OData.JSON.V1.xml +++ b/vocabularies/Org.OData.JSON.V1.xml @@ -45,8 +45,60 @@ - Terms for JSON properties + Terms, types, and functions for JSON data + + OData [stream properties](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_ManagingStreamProperties) allow embedding data of arbitrary media types, +and the OData JSON format allows [direct embedding of JSON data](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_StreamProperty) in request and response payloads. + +This vocabulary defines a convenience [type for JSON data](#JSON) as well as a term for referencing a [JSON Schema](#Schema) describing the structure of the JSON data. + +In addition it defines two functions for [querying](#query) JSON data and using a [primitive value](#value) extracted from JSON data in common expressions, for example in `$filter`, `$orderby`, or `$compute`. + +**Example** + +The `Employees` entity set has a JSON data property `resume` (see [CSDL JSON](../examples/Org.OData.JSON.V1.Schema-sample.json) or [CSDL XML](../examples/Org.OData.JSON.V1.Schema-sample.xml)). + +One of its entities has a `resume` value of +```json +{ + "ssn": "1234", + "lastname": "Doe", + "address": { + "zipcode": "10022", + "street": "ABC st" + }, + "experience": "excellent" +} +``` + +This allows to filter and sort by values in that resume, and extract parts of the resume as a dynamic JSON data property +```http +GET http://www.example.com/mycompany/Employees + ?$filter=resume/JSON.value(path='$.lastname') eq 'Doe' + &$orderby=resume/JSON.valueNumber(path='$.experience') + &$compute=resume/JSON.query(path='$.address') as address + &$expand=address +``` +receiving +```json +{ + "@odata.context": "$metadata#Employees", + "value": [ + { + "empid": 4711, + "address": { + "zipcode": "10022", + "street": "ABC st" + } + }, + ... + ] +} +``` + + + @@ -68,10 +120,87 @@ - The schema can be a schema reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` + The schema can be a reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` + + + + Extracts a JSON value, such as an array, object, or a JSON scalar value (string, number, boolean, or `null`) from the `input` JSON value: +- If `path` only consists of the root identifier followed by name and index selectors, it returns the identified single node within `input`, or `null` if no node is identified. +- If `path` potentially identifies multiple nodes within `input` (by using descendant, wildcard, union, array subset, or filter selectors), it returns an array containing the identified nodes, or an empty array if no node is identified. +- If `input` is not a valid JSON value, the function returns `null`. +- If `path` is `null`, not a valid [JSONPath expression](#Path), or does not match the structure of `input` (for example applying an index selector to a scalar value), the function returns `null`. + + + + + + + + + + + + + + + + + Extracts a single OData primitive value from the `input` JSON value and casts it to a string: +- If `path` only consists of the root identifier followed by name and index selectors and identifies a single scalar JSON value (string, number, boolean, or `null`) within `input`, it returns the identified single value, cast to a string. +- If `path` identifies multiple nodes within `input` (by using descendant, wildcard, union, array subset, or filter selectors), identifies an object or array, or does not identify any node, the function returns `null`. +- If `input` is not a valid JSON value, the function returns `null`. +- If `path` is `null`, not a valid [JSONPath expression](#Path), or does not match the structure of `input` (for example applying an index selector to a scalar value), the function returns `null`. + + + + + + + + + + + + + + + Like [`value`](#value), but casts the extracted value to an `Edm.Decimal` with unspecified precision and floating scale. + Returns null if that cast fails. + + + + + + + + + + + + + + + Like [`value`](#value), but casts the extracted value to an `Edm.Boolean`. + Returns null if that cast fails. + + + + + + + + + + + + @@ -82,6 +211,48 @@ + + + + + Implementations MUST support at least the following subset of JSONPath: + +Syntax Element | Description | Examples +---------------|-------------|-------- +`$` | [root identifier](https://datatracker.ietf.org/doc/html/rfc9535#root-identifier) | `$` +`[<selector>]` | [child segment](https://datatracker.ietf.org/doc/html/rfc9535#child-segment) selects one child of a node; contains one [name selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector) (single- or double-quoted string using JSON escaping rules) or [index selector](https://datatracker.ietf.org/doc/html/rfc9535#index-selector) (non-negative decimal integer) | `$['foo']`, `$.foo["bar"]`, `$.bar[0]`, `$.bar[42]` +`.name` | shorthand for `['name']` | `$.foo`, `$.foo.bar`, `$.bar[42].baz` + +Implementations MAY in addition support other JSONPath constructs, for example: + +Syntax Element | Description | Examples +---------------|-------------|-------- +`[<selector>]` | index selector with negative integer array index (counts from the end of the array) | `$.bar[-1]` +`[<selectors>]` | non-empty, comma-separated sequence of selectors | `$.foo['bar','baz']`, `$.bar[0,1,2,3,5,7,11]` +`..[<selectors>]` | [descendant segment](https://datatracker.ietf.org/doc/html/rfc9535#descendant-segment): selects zero or more descendants of a node | `$.foo..["bar"]` +`..name` | shorthand for `..['name']` | `$.foo..bar` +`*` | [wildcard selector](https://datatracker.ietf.org/doc/html/rfc9535#name-selector): selects all children of a node | `$.foo[*]`, `$[*]` +`.*` | shorthand for `[*]` | `$.foo.*`, `$.*` +`..*` | shorthand for `..[*]` | `$.foo..*`, `$..*` +`[start:end]` | array subset by range of indices (including the item at _start_ and excluding the item at _end_ | `$.bar[2:5]`, same as `$.bar[2,3,4]` +`[start:]` | array subset from _start_ to end of array | `$.bar[2:]` +`[:n]` | the first _n_ array items | `$.bar[:4]` +`[-n:]` | the last _n_ array items | `$.bar[-3:]` +`[start:end:step]` | [array slice selector](https://datatracker.ietf.org/doc/html/rfc9535#slice) | +`[?<logical-expr>]` | [filter selector](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector): selects particular children using a logical expression | +`@` | [current node identifier](https://datatracker.ietf.org/doc/html/rfc9535#filter-selector) (valid only within filter selectors) | `$.bar[?@.baz==42]` + +**References for JSONPath** +- RFC 9535: https://datatracker.ietf.org/doc/html/rfc9535 +- Historic site: https://goessner.net/articles/JsonPath/ +- Node.js implementation: https://www.npmjs.com/package/jsonpath +- Java implementation: https://github.com/json-path/JsonPath +- Online evaluator: https://jsonpath.com/ + + + + From 1e83dca5d4a0e6e56963b101865014887cc13617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Heiko=20Thei=C3=9Fen?= Date: Wed, 29 May 2024 18:03:48 +0200 Subject: [PATCH 3/5] Alternative search syntax (#241) * Alternative search syntax * Added spec link * @ralfhandl's suggestion * TC 2024-04-17 * TC 2024-04-17 * TC 2024-05-29 * TC 2024-05-29 --------- Co-authored-by: Ralf Handl --- vocabularies/Org.OData.Capabilities.V1.json | 10 +- vocabularies/Org.OData.Capabilities.V1.md | 403 ++++++++++---------- vocabularies/Org.OData.Capabilities.V1.xml | 12 +- 3 files changed, 220 insertions(+), 205 deletions(-) diff --git a/vocabularies/Org.OData.Capabilities.V1.json b/vocabularies/Org.OData.Capabilities.V1.json index 1fca2030..501c149c 100644 --- a/vocabularies/Org.OData.Capabilities.V1.json +++ b/vocabularies/Org.OData.Capabilities.V1.json @@ -748,14 +748,20 @@ "UnsupportedExpressions": { "$Type": "Capabilities.SearchExpressions", "$DefaultValue": "none", - "@Core.Description": "Expressions not supported in $search" + "@Core.Description": "Expressions not supported in $search as specified by the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)", + "@Core.LongDescription": "An unsupported expression may be treated as a term to be matched even if the\n standard syntax treats it as a keyword." + }, + "SearchSyntax": { + "$Nullable": true, + "@Core.IsURL": true, + "@Core.Description": "URL of the $search syntax supported by the service (null means the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions))" } }, "SearchExpressions": { "$Kind": "EnumType", "$IsFlags": true, "none": 0, - "none@Core.Description": "Single search term", + "none@Core.Description": "No unsupported expressions", "AND": 1, "AND@Core.Description": "Multiple search terms, optionally separated by `AND`", "OR": 2, diff --git a/vocabularies/Org.OData.Capabilities.V1.md b/vocabularies/Org.OData.Capabilities.V1.md index 52633cc5..d815641b 100644 --- a/vocabularies/Org.OData.Capabilities.V1.md +++ b/vocabularies/Org.OData.Capabilities.V1.md @@ -71,22 +71,22 @@ Term|Type|Description [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
+[KeyAsSegmentSupported](./Org.OData.Capabilities.V1.xml#L608:~: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#L612:~: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#L618:~:text=Restrictions on insert operations +[DeepInsertSupport](./Org.OData.Capabilities.V1.xml#L697:~: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#L710:~:text=Restrictions on update operations +[DeepUpdateSupport](./Org.OData.Capabilities.V1.xml#L796:~: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#L809:~:text=Restrictions on delete operations +[CollectionPropertyRestrictions](./Org.OData.Capabilities.V1.xml#L853:~:text=Describes restrictions on operations applied to collection-valued structural properties +[OperationRestrictions](./Org.OData.Capabilities.V1.xml#L894:~:text=Restrictions for function or action operation +[AnnotationValuesInQuerySupported](./Org.OData.Capabilities.V1.xml#L914:~:text=Supports annotation values within system query options +[ModificationQueryOptions](./Org.OData.Capabilities.V1.xml#L918:~:text=Support for query options with modification requests (insert, update, action invocation) +[ReadRestrictions](./Org.OData.Capabilities.V1.xml#L942:~:text=Restrictions for retrieving a collection of entities, retrieving a singleton instance. +[CustomHeaders](./Org.OData.Capabilities.V1.xml#L984:~:text=Custom headers that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L986)) +[CustomQueryOptions](./Org.OData.Capabilities.V1.xml#L1010:~:text=Custom query options that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L1013))
If the entity container is annotated, the query option is supported/required by all resources in that container. +[MediaLocationUpdateSupported](./Org.OData.Capabilities.V1.xml#L1062:~:text=Stream property or media stream supports update of its media edit URL and/or media read URL +[DefaultCapabilities](./Org.OData.Capabilities.V1.xml#L1067:~: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=An unsupported expression may be treated as a term to be matched even if the standard syntax treats it as a keyword. +[SearchSyntax](./Org.OData.Capabilities.V1.xml#L582:~:text= -## [SearchExpressions](./Org.OData.Capabilities.V1.xml#L579:~:text= -## [InsertRestrictionsBase](./Org.OData.Capabilities.V1.xml#L614:~:text= -## [InsertRestrictionsType](./Org.OData.Capabilities.V1.xml#L645:~:text= -## [PermissionType](./Org.OData.Capabilities.V1.xml#L660:~:text= -## [ScopeType](./Org.OData.Capabilities.V1.xml#L669:~: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#L678:~: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#L693:~:text= -## [UpdateRestrictionsBase](./Org.OData.Capabilities.V1.xml#L706:~:text= -## [UpdateRestrictionsType](./Org.OData.Capabilities.V1.xml#L752:~:text= -## [HttpMethod](./Org.OData.Capabilities.V1.xml#L764:~:text= -## [DeepUpdateSupportType](./Org.OData.Capabilities.V1.xml#L792:~:text= -## [DeleteRestrictionsBase](./Org.OData.Capabilities.V1.xml#L805:~:text= -## [DeleteRestrictionsType](./Org.OData.Capabilities.V1.xml#L839:~:text= -## [CollectionPropertyRestrictionsType](./Org.OData.Capabilities.V1.xml#L848:~: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=If not specified, null, or empty, all functions and operators may be attempted. +[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L864:~: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#L886:~:text= -## [OperationRestrictionsType](./Org.OData.Capabilities.V1.xml#L889:~:text= -## [ModificationQueryOptionsType](./Org.OData.Capabilities.V1.xml#L913:~:text= -## [*ReadRestrictionsBase*](./Org.OData.Capabilities.V1.xml#L938:~:text= -## [ReadByKeyRestrictionsType](./Org.OData.Capabilities.V1.xml#L963:~:text= -## [ReadRestrictionsType](./Org.OData.Capabilities.V1.xml#L966:~: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#L947:~: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#L1033:~:text= -## [DefaultCapabilitiesType](./Org.OData.Capabilities.V1.xml#L1068:~:text= -## [HttpResponse](./Org.OData.Capabilities.V1.xml#L1119:~:text= - + + + An unsupported expression may be treated as a term to be matched even if the + standard syntax treats it as a keyword. + + + + + - + From ea7f3a1eb9b14262f4a77b578b0f1b98195fc88c Mon Sep 17 00:00:00 2001 From: D024504 Date: Fri, 14 Jun 2024 13:36:04 +0200 Subject: [PATCH 4/5] Rebuilt --- vocabularies/Org.OData.Capabilities.V1.md | 762 ++++++---------------- vocabularies/Org.OData.Core.V1.md | 48 +- vocabularies/Org.OData.JSON.V1.md | 46 +- 3 files changed, 222 insertions(+), 634 deletions(-) diff --git a/vocabularies/Org.OData.Capabilities.V1.md b/vocabularies/Org.OData.Capabilities.V1.md index 9b986136..9a96e47c 100644 --- a/vocabularies/Org.OData.Capabilities.V1.md +++ b/vocabularies/Org.OData.Capabilities.V1.md @@ -47,48 +47,6 @@ supported: Term|Type|Description :---|:---|:---------- -<<<<<<< HEAD -[ConformanceLevel](./Org.OData.Capabilities.V1.xml#L115:~:text=The conformance level achieved by this service -[SupportedFormats](./Org.OData.Capabilities.V1.xml#L132:~:text=Media types of supported formats, including format parameters -[SupportedMetadataFormats](./Org.OData.Capabilities.V1.xml#L137:~:text=Media types of supported formats for $metadata, including format parameters -[AcceptableEncodings](./Org.OData.Capabilities.V1.xml#L142:~:text=List of acceptable compression methods for ($batch) requests, e.g. gzip -[AsynchronousRequestsSupported](./Org.OData.Capabilities.V1.xml#L148:~:text=Service supports the asynchronous request preference -[BatchContinueOnErrorSupported](./Org.OData.Capabilities.V1.xml#L152:~:text=Service supports the continue on error preference. Supports $batch requests. Services that apply the BatchContinueOnErrorSupported term should also specify the ContinueOnErrorSupported property from the BatchSupport term. -[IsolationSupported](./Org.OData.Capabilities.V1.xml#L156:~:text=Supported odata.isolation levels -[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#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#L608:~: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#L612:~: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#L618:~:text=Restrictions on insert operations -[DeepInsertSupport](./Org.OData.Capabilities.V1.xml#L697:~: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#L710:~:text=Restrictions on update operations -[DeepUpdateSupport](./Org.OData.Capabilities.V1.xml#L796:~: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#L809:~:text=Restrictions on delete operations -[CollectionPropertyRestrictions](./Org.OData.Capabilities.V1.xml#L853:~:text=Describes restrictions on operations applied to collection-valued structural properties -[OperationRestrictions](./Org.OData.Capabilities.V1.xml#L894:~:text=Restrictions for function or action operation -[AnnotationValuesInQuerySupported](./Org.OData.Capabilities.V1.xml#L914:~:text=Supports annotation values within system query options -[ModificationQueryOptions](./Org.OData.Capabilities.V1.xml#L918:~:text=Support for query options with modification requests (insert, update, action invocation) -[ReadRestrictions](./Org.OData.Capabilities.V1.xml#L942:~:text=Restrictions for retrieving a collection of entities, retrieving a singleton instance. -[CustomHeaders](./Org.OData.Capabilities.V1.xml#L984:~:text=Custom headers that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L986)) -[CustomQueryOptions](./Org.OData.Capabilities.V1.xml#L1010:~:text=Custom query options that are supported/required for the annotated resource ([Example](./Org.OData.Capabilities.V1.xml#L1013))
If the entity container is annotated, the query option is supported/required by all resources in that container. -[MediaLocationUpdateSupported](./Org.OData.Capabilities.V1.xml#L1062:~:text=Stream property or media stream supports update of its media edit URL and/or media read URL -[DefaultCapabilities](./Org.OData.Capabilities.V1.xml#L1067:~: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
-======= [ConformanceLevel](Org.OData.Capabilities.V1.xml#L115)|[ConformanceLevelType](#ConformanceLevelType)|The conformance level achieved by this service [SupportedFormats](Org.OData.Capabilities.V1.xml#L132)|\[MediaType\]|Media types of supported formats, including format parameters [SupportedMetadataFormats](Org.OData.Capabilities.V1.xml#L137)|\[MediaType\]|Media types of supported formats for $metadata, including format parameters @@ -113,23 +71,22 @@ Term|Type|Description [SortRestrictions](Org.OData.Capabilities.V1.xml#L506)|[SortRestrictionsType](#SortRestrictionsType)|Restrictions on orderby expressions [ExpandRestrictions](Org.OData.Capabilities.V1.xml#L532)|[ExpandRestrictionsType](#ExpandRestrictionsType)|Restrictions on expand expressions [SearchRestrictions](Org.OData.Capabilities.V1.xml#L562)|[SearchRestrictionsType](#SearchRestrictionsType)|Restrictions on search expressions -[KeyAsSegmentSupported](Org.OData.Capabilities.V1.xml#L600)|[Tag](Org.OData.Core.V1.md#Tag)|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)|[Tag](Org.OData.Core.V1.md#Tag)|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)|[InsertRestrictionsType](#InsertRestrictionsType)|Restrictions on insert operations -[DeepInsertSupport](Org.OData.Capabilities.V1.xml#L689)|[DeepInsertSupportType?](#DeepInsertSupportType)|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)|[UpdateRestrictionsType](#UpdateRestrictionsType)|Restrictions on update operations -[DeepUpdateSupport](Org.OData.Capabilities.V1.xml#L788)|[DeepUpdateSupportType](#DeepUpdateSupportType)|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)|[DeleteRestrictionsType](#DeleteRestrictionsType)|Restrictions on delete operations -[CollectionPropertyRestrictions](Org.OData.Capabilities.V1.xml#L845)|\[[CollectionPropertyRestrictionsType](#CollectionPropertyRestrictionsType)\]|Describes restrictions on operations applied to collection-valued structural properties -[OperationRestrictions](Org.OData.Capabilities.V1.xml#L886)|[OperationRestrictionsType](#OperationRestrictionsType)|Restrictions for function or action operation -[AnnotationValuesInQuerySupported](Org.OData.Capabilities.V1.xml#L906)|[Tag](Org.OData.Core.V1.md#Tag)|Supports annotation values within system query options -[ModificationQueryOptions](Org.OData.Capabilities.V1.xml#L910)|[ModificationQueryOptionsType](#ModificationQueryOptionsType)|Support for query options with modification requests (insert, update, action invocation) -[ReadRestrictions](Org.OData.Capabilities.V1.xml#L934)|[ReadRestrictionsType](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance. -[CustomHeaders](Org.OData.Capabilities.V1.xml#L976)|\[[CustomParameter](#CustomParameter)\]|Custom headers that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L978)) -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L1002)|\[[CustomParameter](#CustomParameter)\]|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)|[Tag](Org.OData.Core.V1.md#Tag)|Stream property or media stream supports update of its media edit URL and/or media read URL -[DefaultCapabilities](Org.OData.Capabilities.V1.xml#L1059)|[DefaultCapabilitiesType](#DefaultCapabilitiesType)|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
->>>>>>> refs/remotes/origin/main +[KeyAsSegmentSupported](Org.OData.Capabilities.V1.xml#L608)|[Tag](Org.OData.Core.V1.md#Tag)|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#L612)|[Tag](Org.OData.Core.V1.md#Tag)|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#L618)|[InsertRestrictionsType](#InsertRestrictionsType)|Restrictions on insert operations +[DeepInsertSupport](Org.OData.Capabilities.V1.xml#L697)|[DeepInsertSupportType?](#DeepInsertSupportType)|Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L710)|[UpdateRestrictionsType](#UpdateRestrictionsType)|Restrictions on update operations +[DeepUpdateSupport](Org.OData.Capabilities.V1.xml#L796)|[DeepUpdateSupportType](#DeepUpdateSupportType)|Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L809)|[DeleteRestrictionsType](#DeleteRestrictionsType)|Restrictions on delete operations +[CollectionPropertyRestrictions](Org.OData.Capabilities.V1.xml#L853)|\[[CollectionPropertyRestrictionsType](#CollectionPropertyRestrictionsType)\]|Describes restrictions on operations applied to collection-valued structural properties +[OperationRestrictions](Org.OData.Capabilities.V1.xml#L894)|[OperationRestrictionsType](#OperationRestrictionsType)|Restrictions for function or action operation +[AnnotationValuesInQuerySupported](Org.OData.Capabilities.V1.xml#L914)|[Tag](Org.OData.Core.V1.md#Tag)|Supports annotation values within system query options +[ModificationQueryOptions](Org.OData.Capabilities.V1.xml#L918)|[ModificationQueryOptionsType](#ModificationQueryOptionsType)|Support for query options with modification requests (insert, update, action invocation) +[ReadRestrictions](Org.OData.Capabilities.V1.xml#L942)|[ReadRestrictionsType](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L984)|\[[CustomParameter](#CustomParameter)\]|Custom headers that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L986)) +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L1010)|\[[CustomParameter](#CustomParameter)\]|Custom query options that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L1013))
If the entity container is annotated, the query option is supported/required by all resources in that container. +[MediaLocationUpdateSupported](Org.OData.Capabilities.V1.xml#L1062)|[Tag](Org.OData.Core.V1.md#Tag)|Stream property or media stream supports update of its media edit URL and/or media read URL +[DefaultCapabilities](Org.OData.Capabilities.V1.xml#L1067)|[DefaultCapabilitiesType](#DefaultCapabilitiesType)|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) @@ -420,51 +377,29 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Searchable](./Org.OData.Capabilities.V1.xml#L572:~:text=An unsupported expression may be treated as a term to be matched even if the standard syntax treats it as a keyword. -[SearchSyntax](./Org.OData.Capabilities.V1.xml#L582:~:text=>>>>>> refs/remotes/origin/main +[UnsupportedExpressions](Org.OData.Capabilities.V1.xml#L575)|[SearchExpressions](#SearchExpressions)|Expressions not supported in $search as specified by the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)
An unsupported expression may be treated as a term to be matched even if the standard syntax treats it as a keyword. +[SearchSyntax](Org.OData.Capabilities.V1.xml#L582)|URL?|URL of the $search syntax supported by the service (null means the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)) **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -<<<<<<< HEAD -## [SearchExpressions](./Org.OData.Capabilities.V1.xml#L587:~:text=>>>>>> refs/remotes/origin/main +## [SearchExpressions](Org.OData.Capabilities.V1.xml#L587) Flag Member|Value|Description :-----|----:|:---------- -<<<<<<< HEAD -[none](./Org.OData.Capabilities.V1.xml#L588:~:text=>>>>>> refs/remotes/origin/main +[none](Org.OData.Capabilities.V1.xml#L588)|0|No unsupported expressions +[AND](Org.OData.Capabilities.V1.xml#L591)|1|Multiple search terms, optionally separated by `AND` +[OR](Org.OData.Capabilities.V1.xml#L594)|2|Multiple search terms separated by `OR` +[NOT](Org.OData.Capabilities.V1.xml#L597)|4|Search terms preceded by `NOT` +[phrase](Org.OData.Capabilities.V1.xml#L600)|8|Search phrases enclosed in double quotes +[group](Org.OData.Capabilities.V1.xml#L603)|16|Precedence grouping of search expressions with parentheses -<<<<<<< HEAD -## [InsertRestrictionsBase](./Org.OData.Capabilities.V1.xml#L622:~:text=>>>>>> refs/remotes/origin/main +## [InsertRestrictionsBase](Org.OData.Capabilities.V1.xml#L622) **Derived Types:** @@ -472,128 +407,65 @@ Flag Member|Value|Description Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Insertable](./Org.OData.Capabilities.V1.xml#L623:~:text=>>>>>> refs/remotes/origin/main +[Insertable](Org.OData.Capabilities.V1.xml#L623)|Boolean|Entities can be inserted +[MaxLevels](Org.OData.Capabilities.V1.xml#L626)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L629)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment +[QueryOptions](Org.OData.Capabilities.V1.xml#L632)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests +[CustomHeaders](Org.OData.Capabilities.V1.xml#L635)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L641)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L645)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L649)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [InsertRestrictionsType](./Org.OData.Capabilities.V1.xml#L653:~:text=>>>>>> refs/remotes/origin/main +## [InsertRestrictionsType](Org.OData.Capabilities.V1.xml#L653): [InsertRestrictionsBase](#InsertRestrictionsBase) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[*Insertable*](./Org.OData.Capabilities.V1.xml#L623:~:text=>>>>>> refs/remotes/origin/main +[*Insertable*](Org.OData.Capabilities.V1.xml#L623)|Boolean|Entities can be inserted +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L626)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L629)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment +[*QueryOptions*](Org.OData.Capabilities.V1.xml#L632)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L635)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L641)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L645)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L649)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonInsertableProperties](Org.OData.Capabilities.V1.xml#L654)|\[PropertyPath\]|These structural properties cannot be specified on insert +[NonInsertableNavigationProperties](Org.OData.Capabilities.V1.xml#L657)|\[NavigationPropertyPath\]|These navigation properties do not allow deep inserts +[RequiredProperties](Org.OData.Capabilities.V1.xml#L660)|\[PropertyPath\]|These structural properties must be specified on insert +[Permissions](Org.OData.Capabilities.V1.xml#L663)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the insert. -<<<<<<< HEAD -## [PermissionType](./Org.OData.Capabilities.V1.xml#L668:~:text=>>>>>> refs/remotes/origin/main +## [PermissionType](Org.OData.Capabilities.V1.xml#L668) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[SchemeName](./Org.OData.Capabilities.V1.xml#L669:~:text=>>>>>> refs/remotes/origin/main +[SchemeName](Org.OData.Capabilities.V1.xml#L669)|[SchemeName](Org.OData.Authorization.V1.md#SchemeName)|Authorization flow scheme name +[Scopes](Org.OData.Capabilities.V1.xml#L672)|\[[ScopeType](#ScopeType)\]|List of scopes that can provide access to the resource -<<<<<<< HEAD -## [ScopeType](./Org.OData.Capabilities.V1.xml#L677:~:text=>>>>>> refs/remotes/origin/main +## [ScopeType](Org.OData.Capabilities.V1.xml#L677) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Scope](./Org.OData.Capabilities.V1.xml#L678:~: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)|String|Name of the scope. -[RestrictedProperties](Org.OData.Capabilities.V1.xml#L673)|String?|Comma-separated string value of all properties that will be included or excluded when using the scope.
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. ->>>>>>> refs/remotes/origin/main +[Scope](Org.OData.Capabilities.V1.xml#L678)|String|Name of the scope. +[RestrictedProperties](Org.OData.Capabilities.V1.xml#L681)|String?|Comma-separated string value of all properties that will be included or excluded when using the scope.
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. -<<<<<<< HEAD -## [DeepInsertSupportType](./Org.OData.Capabilities.V1.xml#L701:~:text=>>>>>> refs/remotes/origin/main +## [DeepInsertSupportType](Org.OData.Capabilities.V1.xml#L701) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Supported](./Org.OData.Capabilities.V1.xml#L702:~:text=>>>>>> refs/remotes/origin/main +[Supported](Org.OData.Capabilities.V1.xml#L702)|Boolean|Annotation target supports deep inserts +[ContentIDSupported](Org.OData.Capabilities.V1.xml#L705)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. -<<<<<<< HEAD -## [UpdateRestrictionsBase](./Org.OData.Capabilities.V1.xml#L714:~:text=>>>>>> refs/remotes/origin/main +## [UpdateRestrictionsBase](Org.OData.Capabilities.V1.xml#L714) **Derived Types:** @@ -601,138 +473,70 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Updatable](./Org.OData.Capabilities.V1.xml#L715:~:text=>>>>>> refs/remotes/origin/main +[Updatable](Org.OData.Capabilities.V1.xml#L715)|Boolean|Entities can be updated +[Upsertable](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be upserted +[DeltaUpdateSupported](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload +[UpdateMethod](Org.OData.Capabilities.V1.xml#L724)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L727)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment +[MaxLevels](Org.OData.Capabilities.V1.xml#L733)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. +[Permissions](Org.OData.Capabilities.V1.xml#L736)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. +[QueryOptions](Org.OData.Capabilities.V1.xml#L739)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests +[CustomHeaders](Org.OData.Capabilities.V1.xml#L742)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L748)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L752)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L756)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [UpdateRestrictionsType](./Org.OData.Capabilities.V1.xml#L760:~:text=>>>>>> refs/remotes/origin/main +## [UpdateRestrictionsType](Org.OData.Capabilities.V1.xml#L760): [UpdateRestrictionsBase](#UpdateRestrictionsBase) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[*Updatable*](./Org.OData.Capabilities.V1.xml#L715:~:text=>>>>>> refs/remotes/origin/main +[*Updatable*](Org.OData.Capabilities.V1.xml#L715)|Boolean|Entities can be updated +[*Upsertable*](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be upserted +[*DeltaUpdateSupported*](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload +[*UpdateMethod*](Org.OData.Capabilities.V1.xml#L724)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. +[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L727)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L733)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. +[*Permissions*](Org.OData.Capabilities.V1.xml#L736)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. +[*QueryOptions*](Org.OData.Capabilities.V1.xml#L739)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L742)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L748)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L752)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L756)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonUpdatableProperties](Org.OData.Capabilities.V1.xml#L761)|\[PropertyPath\]|These structural properties cannot be specified on update +[NonUpdatableNavigationProperties](Org.OData.Capabilities.V1.xml#L764)|\[NavigationPropertyPath\]|These navigation properties do not allow rebinding +[RequiredProperties](Org.OData.Capabilities.V1.xml#L767)|\[PropertyPath\]|These structural properties must be specified on update -<<<<<<< HEAD -## [HttpMethod](./Org.OData.Capabilities.V1.xml#L772:~:text=>>>>>> refs/remotes/origin/main +## [HttpMethod](Org.OData.Capabilities.V1.xml#L772) Flag Member|Value|Description :-----|----:|:---------- -<<<<<<< HEAD -[GET](./Org.OData.Capabilities.V1.xml#L773:~:text=>>>>>> refs/remotes/origin/main +[GET](Org.OData.Capabilities.V1.xml#L773)|1|The HTTP GET Method +[PATCH](Org.OData.Capabilities.V1.xml#L776)|2|The HTTP PATCH Method +[PUT](Org.OData.Capabilities.V1.xml#L779)|4|The HTTP PUT Method +[POST](Org.OData.Capabilities.V1.xml#L782)|8|The HTTP POST Method +[DELETE](Org.OData.Capabilities.V1.xml#L785)|16|The HTTP DELETE Method +[OPTIONS](Org.OData.Capabilities.V1.xml#L788)|32|The HTTP OPTIONS Method +[HEAD](Org.OData.Capabilities.V1.xml#L791)|64|The HTTP HEAD Method -<<<<<<< HEAD -## [DeepUpdateSupportType](./Org.OData.Capabilities.V1.xml#L800:~:text=>>>>>> refs/remotes/origin/main +## [DeepUpdateSupportType](Org.OData.Capabilities.V1.xml#L800) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Supported](./Org.OData.Capabilities.V1.xml#L801:~:text=>>>>>> refs/remotes/origin/main +[Supported](Org.OData.Capabilities.V1.xml#L801)|Boolean|Annotation target supports deep updates +[ContentIDSupported](Org.OData.Capabilities.V1.xml#L804)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. -<<<<<<< HEAD -## [DeleteRestrictionsBase](./Org.OData.Capabilities.V1.xml#L813:~:text=>>>>>> refs/remotes/origin/main +## [DeleteRestrictionsBase](Org.OData.Capabilities.V1.xml#L813) **Derived Types:** @@ -740,158 +544,80 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Deletable](./Org.OData.Capabilities.V1.xml#L814:~:text=>>>>>> refs/remotes/origin/main +[Deletable](Org.OData.Capabilities.V1.xml#L814)|Boolean|Entities can be deleted +[MaxLevels](Org.OData.Capabilities.V1.xml#L817)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L820)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment +[Permissions](Org.OData.Capabilities.V1.xml#L826)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L829)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L835)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L839)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L843)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [DeleteRestrictionsType](./Org.OData.Capabilities.V1.xml#L847:~:text=>>>>>> refs/remotes/origin/main +## [DeleteRestrictionsType](Org.OData.Capabilities.V1.xml#L847): [DeleteRestrictionsBase](#DeleteRestrictionsBase) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[*Deletable*](./Org.OData.Capabilities.V1.xml#L814:~:text=>>>>>> refs/remotes/origin/main +[*Deletable*](Org.OData.Capabilities.V1.xml#L814)|Boolean|Entities can be deleted +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L817)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. +[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L820)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment +[*Permissions*](Org.OData.Capabilities.V1.xml#L826)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L829)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L835)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L839)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L843)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonDeletableNavigationProperties](Org.OData.Capabilities.V1.xml#L848)|\[NavigationPropertyPath\]|These navigation properties do not allow DeleteLink requests -<<<<<<< HEAD -## [CollectionPropertyRestrictionsType](./Org.OData.Capabilities.V1.xml#L856:~:text=>>>>>> refs/remotes/origin/main +## [CollectionPropertyRestrictionsType](Org.OData.Capabilities.V1.xml#L856) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[CollectionProperty](./Org.OData.Capabilities.V1.xml#L857:~:text=If not specified, null, or empty, all functions and operators may be attempted. -[FilterRestrictions](./Org.OData.Capabilities.V1.xml#L864:~: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#L886:~:text=If not specified, null, or empty, all functions and operators may be attempted. -[FilterRestrictions](Org.OData.Capabilities.V1.xml#L856)|[FilterRestrictionsType?](#FilterRestrictionsType)|Restrictions on filter expressions -[SearchRestrictions](Org.OData.Capabilities.V1.xml#L859)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions -[SortRestrictions](Org.OData.Capabilities.V1.xml#L862)|[SortRestrictionsType?](#SortRestrictionsType)|Restrictions on orderby expressions -[TopSupported](Org.OData.Capabilities.V1.xml#L865)|Boolean|Supports $top -[SkipSupported](Org.OData.Capabilities.V1.xml#L868)|Boolean|Supports $skip -[SelectSupport](Org.OData.Capabilities.V1.xml#L871)|[SelectSupportType?](#SelectSupportType)|Support for $select -[Insertable](Org.OData.Capabilities.V1.xml#L874)|Boolean|Members can be inserted into this collection
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)|Boolean|Members of this ordered collection can be updated by ordinal -[Deletable](Org.OData.Capabilities.V1.xml#L881)|Boolean|Members of this ordered collection can be deleted by ordinal ->>>>>>> refs/remotes/origin/main +[CollectionProperty](Org.OData.Capabilities.V1.xml#L857)|PropertyPath?|Restricted Collection-valued property +[FilterFunctions](Org.OData.Capabilities.V1.xml#L860)|\[String\]|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#L864)|[FilterRestrictionsType?](#FilterRestrictionsType)|Restrictions on filter expressions +[SearchRestrictions](Org.OData.Capabilities.V1.xml#L867)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions +[SortRestrictions](Org.OData.Capabilities.V1.xml#L870)|[SortRestrictionsType?](#SortRestrictionsType)|Restrictions on orderby expressions +[TopSupported](Org.OData.Capabilities.V1.xml#L873)|Boolean|Supports $top +[SkipSupported](Org.OData.Capabilities.V1.xml#L876)|Boolean|Supports $skip +[SelectSupport](Org.OData.Capabilities.V1.xml#L879)|[SelectSupportType?](#SelectSupportType)|Support for $select +[Insertable](Org.OData.Capabilities.V1.xml#L882)|Boolean|Members can be inserted into this collection
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#L886)|Boolean|Members of this ordered collection can be updated by ordinal +[Deletable](Org.OData.Capabilities.V1.xml#L889)|Boolean|Members of this ordered collection can be deleted by ordinal -<<<<<<< HEAD -## [OperationRestrictionsType](./Org.OData.Capabilities.V1.xml#L897:~:text=>>>>>> refs/remotes/origin/main +## [OperationRestrictionsType](Org.OData.Capabilities.V1.xml#L897) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[FilterSegmentSupported](./Org.OData.Capabilities.V1.xml#L898:~:text=>>>>>> refs/remotes/origin/main +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L898)|Boolean|Bound action or function can be invoked on a collection-valued binding parameter path with a `/$filter(...)` segment +[Permissions](Org.OData.Capabilities.V1.xml#L901)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to invoke an action or function +[CustomHeaders](Org.OData.Capabilities.V1.xml#L904)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L907)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[ErrorResponses](Org.OData.Capabilities.V1.xml#L910)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [ModificationQueryOptionsType](./Org.OData.Capabilities.V1.xml#L921:~:text=>>>>>> refs/remotes/origin/main +## [ModificationQueryOptionsType](Org.OData.Capabilities.V1.xml#L921) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[ExpandSupported](./Org.OData.Capabilities.V1.xml#L922:~:text=>>>>>> refs/remotes/origin/main +[ExpandSupported](Org.OData.Capabilities.V1.xml#L922)|Boolean|Supports $expand with modification requests +[SelectSupported](Org.OData.Capabilities.V1.xml#L925)|Boolean|Supports $select with modification requests +[ComputeSupported](Org.OData.Capabilities.V1.xml#L928)|Boolean|Supports $compute with modification requests +[FilterSupported](Org.OData.Capabilities.V1.xml#L931)|Boolean|Supports $filter with modification requests +[SearchSupported](Org.OData.Capabilities.V1.xml#L934)|Boolean|Supports $search with modification requests +[SortSupported](Org.OData.Capabilities.V1.xml#L937)|Boolean|Supports $orderby with modification requests -<<<<<<< HEAD -## [*ReadRestrictionsBase*](./Org.OData.Capabilities.V1.xml#L946:~:text=>>>>>> refs/remotes/origin/main +## [*ReadRestrictionsBase*](Org.OData.Capabilities.V1.xml#L946) **Derived Types:** @@ -900,170 +626,86 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Readable](./Org.OData.Capabilities.V1.xml#L947:~:text=>>>>>> refs/remotes/origin/main +[Readable](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved +[Permissions](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [ReadByKeyRestrictionsType](./Org.OData.Capabilities.V1.xml#L971:~:text=>>>>>> refs/remotes/origin/main +## [ReadByKeyRestrictionsType](Org.OData.Capabilities.V1.xml#L971): [ReadRestrictionsBase](#ReadRestrictionsBase) Restrictions for retrieving an entity by key Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[*Readable*](./Org.OData.Capabilities.V1.xml#L947:~:text=>>>>>> refs/remotes/origin/main +[*Readable*](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved +[*Permissions*](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -<<<<<<< HEAD -## [ReadRestrictionsType](./Org.OData.Capabilities.V1.xml#L974:~:text=>>>>>> refs/remotes/origin/main +## [ReadRestrictionsType](Org.OData.Capabilities.V1.xml#L974): [ReadRestrictionsBase](#ReadRestrictionsBase) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[*Readable*](./Org.OData.Capabilities.V1.xml#L947:~: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)|Boolean|Entities can be retrieved -[*Permissions*](Org.OData.Capabilities.V1.xml#L942)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L945)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L948)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L951)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L955)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L959)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L967)|Boolean|Entities of a specific derived type can be read by specifying a type-cast segment -[ReadByKeyRestrictions](Org.OData.Capabilities.V1.xml#L970)|[ReadByKeyRestrictionsType?](#ReadByKeyRestrictionsType)|Restrictions for retrieving an entity by key
Only valid when applied to a collection. If a property of `ReadByKeyRestrictions` is not specified, the corresponding property value of `ReadRestrictions` applies. ->>>>>>> refs/remotes/origin/main +[*Readable*](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved +[*Permissions*](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L975)|Boolean|Entities of a specific derived type can be read by specifying a type-cast segment +[ReadByKeyRestrictions](Org.OData.Capabilities.V1.xml#L978)|[ReadByKeyRestrictionsType?](#ReadByKeyRestrictionsType)|Restrictions for retrieving an entity by key
Only valid when applied to a collection. If a property of `ReadByKeyRestrictions` is not specified, the corresponding property value of `ReadRestrictions` applies. -<<<<<<< HEAD -## [CustomParameter](./Org.OData.Capabilities.V1.xml#L1041:~:text=>>>>>> refs/remotes/origin/main +## [CustomParameter](Org.OData.Capabilities.V1.xml#L1041) A custom parameter is either a header or a query option The type of a custom parameter is always a string. Restrictions on the parameter values can be expressed by annotating the record expression describing the parameter with terms from the Validation vocabulary, e.g. Validation.Pattern or Validation.AllowedValues. Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[Name](./Org.OData.Capabilities.V1.xml#L1044:~:text=>>>>>> refs/remotes/origin/main +[Name](Org.OData.Capabilities.V1.xml#L1044)|String|Name of the custom parameter +[Description](Org.OData.Capabilities.V1.xml#L1047)|String?|Description of the custom parameter +[DocumentationURL](Org.OData.Capabilities.V1.xml#L1050)|URL?|URL of related documentation +[Required](Org.OData.Capabilities.V1.xml#L1054)|Boolean|true: parameter is required, false or not specified: parameter is optional +[ExampleValues](Org.OData.Capabilities.V1.xml#L1057)|\[[PrimitiveExampleValue](Org.OData.Core.V1.md#PrimitiveExampleValue)\]|Example values for the custom parameter -<<<<<<< HEAD -## [DefaultCapabilitiesType](./Org.OData.Capabilities.V1.xml#L1076:~:text=>>>>>> refs/remotes/origin/main +## [DefaultCapabilitiesType](Org.OData.Capabilities.V1.xml#L1076) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[ChangeTracking](./Org.OData.Capabilities.V1.xml#L1077:~:text=>>>>>> refs/remotes/origin/main +[ChangeTracking](Org.OData.Capabilities.V1.xml#L1077)|[ChangeTrackingBase?](#ChangeTrackingBase)|Change tracking capabilities +[CountRestrictions](Org.OData.Capabilities.V1.xml#L1080)|[CountRestrictionsBase?](#CountRestrictionsBase)|Restrictions on /$count path suffix and $count=true system query option +[IndexableByKey](Org.OData.Capabilities.V1.xml#L1083)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports key values according to OData URL conventions +[TopSupported](Org.OData.Capabilities.V1.xml#L1086)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $top +[SkipSupported](Org.OData.Capabilities.V1.xml#L1089)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $skip +[ComputeSupported](Org.OData.Capabilities.V1.xml#L1092)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $compute +[SelectSupport](Org.OData.Capabilities.V1.xml#L1095)|[SelectSupportType?](#SelectSupportType)|Support for $select and nested query options within $select +[FilterRestrictions](Org.OData.Capabilities.V1.xml#L1098)|[FilterRestrictionsBase?](#FilterRestrictionsBase)|Restrictions on filter expressions +[SortRestrictions](Org.OData.Capabilities.V1.xml#L1101)|[SortRestrictionsBase?](#SortRestrictionsBase)|Restrictions on orderby expressions +[ExpandRestrictions](Org.OData.Capabilities.V1.xml#L1104)|[ExpandRestrictionsBase?](#ExpandRestrictionsBase)|Restrictions on expand expressions +[SearchRestrictions](Org.OData.Capabilities.V1.xml#L1107)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions +[InsertRestrictions](Org.OData.Capabilities.V1.xml#L1110)|[InsertRestrictionsBase?](#InsertRestrictionsBase)|Restrictions on insert operations +[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L1113)|[UpdateRestrictionsBase?](#UpdateRestrictionsBase)|Restrictions on update operations +[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L1116)|[DeleteRestrictionsBase?](#DeleteRestrictionsBase)|Restrictions on delete operations +[OperationRestrictions](Org.OData.Capabilities.V1.xml#L1119)|[OperationRestrictionsType?](#OperationRestrictionsType)|Restrictions for function or action operations +[ReadRestrictions](Org.OData.Capabilities.V1.xml#L1122)|[ReadRestrictionsType?](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance -<<<<<<< HEAD -## [HttpResponse](./Org.OData.Capabilities.V1.xml#L1127:~:text=>>>>>> refs/remotes/origin/main +## [HttpResponse](Org.OData.Capabilities.V1.xml#L1127) Property|Type|Description :-------|:---|:---------- -<<<<<<< HEAD -[StatusCode](./Org.OData.Capabilities.V1.xml#L1128:~:text=>>>>>> refs/remotes/origin/main +[StatusCode](Org.OData.Capabilities.V1.xml#L1128)|String|HTTP response status code, for example 400, 403, 501 +[Description](Org.OData.Capabilities.V1.xml#L1131)|String|Human-readable description of the response diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 7ffc2e6a..80361d2f 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -8,52 +8,6 @@ Core terms needed to write vocabularies Term|Type|Description :---|:---|:---------- -<<<<<<< HEAD -[ODataVersions](./Org.OData.Core.V1.xml#L69:~:text=A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed. -[SchemaVersion](./Org.OData.Core.V1.xml#L73:~:text=Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case. -[Revisions](./Org.OData.Core.V1.xml#L77:~:text=List of revisions of a model element -[Description](./Org.OData.Core.V1.xml#L105:~:text=A brief description of a model element -[LongDescription](./Org.OData.Core.V1.xml#L110:~:text=A long description of a model element -[Links](./Org.OData.Core.V1.xml#L115:~:text=Link to related information -[Example](./Org.OData.Core.V1.xml#L129:~:text=Example for an instance of the annotated model element ([Example](./Org.OData.Core.V1.xml#L131)) -[Messages](./Org.OData.Core.V1.xml#L198:~:text=Instance annotation for warning and info messages -[ValueException](./Org.OData.Core.V1.xml#L242:~:text=The annotated value is problematic -[ResourceException](./Org.OData.Core.V1.xml#L256:~:text=The annotated instance within a success payload is problematic -[DataModificationException](./Org.OData.Core.V1.xml#L266:~:text=A modification operation failed on the annotated instance or collection within a success payload -[IsLanguageDependent](./Org.OData.Core.V1.xml#L306:~:text=Properties and terms annotated with this term are language-dependent -[RequiresType](./Org.OData.Core.V1.xml#L317:~:text=Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name -[AppliesViaContainer](./Org.OData.Core.V1.xml#L321:~:text=The target path of an annotation with the tagged term MUST start with an entity container or the annotation MUST be embedded within an entity container, entity set or singleton
Services MAY additionally annotate a container-independent model element (entity type, property, navigation property) if allowed by the `AppliesTo` property of the term and the annotation applies to all uses of that model element. -[ResourcePath](./Org.OData.Core.V1.xml#L331:~:text=Resource path for entity container child, can be relative to xml:base and the request URL -[DereferenceableIDs](./Org.OData.Core.V1.xml#L336:~:text=Entity-ids are URLs that locate the identified entity -[ConventionalIDs](./Org.OData.Core.V1.xml#L340:~:text=Entity-ids follow OData URL conventions -[Permissions](./Org.OData.Core.V1.xml#L346:~:text=Permissions for accessing a resource -[ContentID](./Org.OData.Core.V1.xml#L369:~:text=A unique identifier for nested entities within a request. -[DefaultNamespace](./Org.OData.Core.V1.xml#L375:~:text=Functions, actions and types in this namespace can be referenced in URLs with or without namespace- or alias- qualification.
Data Modelers should ensure uniqueness of schema children across all default namespaces, and should avoid naming bound functions, actions, or derived types with the same name as a structural or navigational property of the type. -[Immutable](./Org.OData.Core.V1.xml#L380:~:text=A value for this non-key property can be provided by the client on insert and remains unchanged on update -[Computed](./Org.OData.Core.V1.xml#L384:~:text=A value for this property is generated on both insert and update -[ComputedDefaultValue](./Org.OData.Core.V1.xml#L388:~:text=A value for this property can be provided by the client on insert and update. If no value is provided on insert, a non-static default value is generated -[IsURL](./Org.OData.Core.V1.xml#L392:~:text=Properties and terms annotated with this term MUST contain a valid URL -[AcceptableMediaTypes](./Org.OData.Core.V1.xml#L397:~:text=Lists the MIME types acceptable for the annotated entity type marked with HasStream="true" or the annotated binary, stream, or string property or term
The annotation of a TypeDefinition propagates to the model elements having this type -[MediaType](./Org.OData.Core.V1.xml#L403:~:text=The media type of the media stream of the annotated entity type marked with HasStream="true" or the annotated binary, stream, or string property or term
The annotation of a TypeDefinition propagates to the model elements having this type -[IsMediaType](./Org.OData.Core.V1.xml#L409:~:text=Properties and terms annotated with this term MUST contain a valid MIME type -[ContentDisposition](./Org.OData.Core.V1.xml#L414:~:text=The content disposition of the media stream of the annotated entity type marked with HasStream="true" or the annotated binary, stream, or string property or term -[OptimisticConcurrency](./Org.OData.Core.V1.xml#L427:~:text=Data modification requires the use of ETags. A non-empty collection contains the set of properties that are used to compute the ETag. An empty collection means that the service won't tell how it computes the ETag -[AdditionalProperties](./Org.OData.Core.V1.xml#L431:~:text=Instances of this type may contain properties in addition to those declared in $metadata
If specified as false clients can assume that instances will not contain dynamic properties, irrespective of the value of the OpenType attribute. -[AutoExpand](./Org.OData.Core.V1.xml#L436:~:text=The service will automatically expand this stream property, navigation property, or the media stream of this media entity type even if not requested with $expand -[AutoExpandReferences](./Org.OData.Core.V1.xml#L440:~:text=The service will automatically expand this navigation property as entity references even if not requested with $expand=.../$ref -[MayImplement](./Org.OData.Core.V1.xml#L444:~:text=A collection of qualified type names outside of the type hierarchy that instances of this type might be addressable as by using a type-cast segment. -[Ordered](./Org.OData.Core.V1.xml#L471:~:text=Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal. -[PositionalInsert](./Org.OData.Core.V1.xml#L475:~:text=Items can be inserted at a given ordinal index. -[AlternateKeys](./Org.OData.Core.V1.xml#L479:~:text=Communicates available alternate keys -[OptionalParameter](./Org.OData.Core.V1.xml#L507:~:text=Supplying a value for the action or function parameter is optional.
All parameters marked as optional must come after any parameters not marked as optional. The binding parameter must not be marked as optional. -[OperationAvailable](./Org.OData.Core.V1.xml#L518:~:text=Action or function is available
The annotation value will usually be an expression, e.g. using properties of the binding parameter type for instance-dependent availability, or using properties of a singleton for global availability. The static value `null` means that availability cannot be determined upfront and is instead expressed as an operation advertisement. -[RequiresExplicitBinding](./Org.OData.Core.V1.xml#L523:~:text=This bound action or function is only available on model elements annotated with the ExplicitOperationBindings term. -[ExplicitOperationBindings](./Org.OData.Core.V1.xml#L527:~:text=The qualified names of explicitly bound operations that are supported on the target model element. These operations are in addition to any operations not annotated with RequiresExplicitBinding that are bound to the type of the target model element. -[SymbolicName](./Org.OData.Core.V1.xml#L536:~:text=A symbolic name for a model element -[GeometryFeature](./Org.OData.Core.V1.xml#L545:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[AnyStructure](./Org.OData.Core.V1.xml#L561:~:text=Instances of a type are annotated with this tag if they have no common structure in a given response payload
The select-list of a context URL MUST be `(@Core.AnyStructure)` if it would otherwise be empty, but this instance annotation SHOULD be omitted from the response value. -[Constructor](./Org.OData.Core.V1.xml#L569:~:text=On success the annotated action creates a new entity -======= [ODataVersions](Org.OData.Core.V1.xml#L69)|String|A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed. [SchemaVersion](Org.OData.Core.V1.xml#L73)|String|Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case. [Revisions](Org.OData.Core.V1.xml#L77)|\[[RevisionType](#RevisionType)\]|List of revisions of a model element @@ -97,7 +51,7 @@ Term|Type|Description [SymbolicName](Org.OData.Core.V1.xml#L536)|[SimpleIdentifier](#SimpleIdentifier)|A symbolic name for a model element [GeometryFeature](Org.OData.Core.V1.xml#L545)|[GeometryFeatureType?](#GeometryFeatureType)|A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing [AnyStructure](Org.OData.Core.V1.xml#L561)|[Tag](#Tag)|Instances of a type are annotated with this tag if they have no common structure in a given response payload
The select-list of a context URL MUST be `(@Core.AnyStructure)` if it would otherwise be empty, but this instance annotation SHOULD be omitted from the response value. ->>>>>>> refs/remotes/origin/main +[Constructor](Org.OData.Core.V1.xml#L569)|[Tag](#Tag)|On success the annotated action creates a new entity ## [RevisionType](Org.OData.Core.V1.xml#L80) diff --git a/vocabularies/Org.OData.JSON.V1.md b/vocabularies/Org.OData.JSON.V1.md index f4d69b09..8cf6ee15 100644 --- a/vocabularies/Org.OData.JSON.V1.md +++ b/vocabularies/Org.OData.JSON.V1.md @@ -58,14 +58,13 @@ receiving Term|Type|Description :---|:---|:---------- -<<<<<<< HEAD -[Schema](./Org.OData.JSON.V1.xml#L119:~:text=The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition
The schema can be a reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` +[Schema](Org.OData.JSON.V1.xml#L119)|[JSON](#JSON)|The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition
The schema can be a reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` ## Functions -### [query](./Org.OData.JSON.V1.xml#L127:~:text= -### [value](./Org.OData.JSON.V1.xml#L150:~:text= -### [valueNumber](./Org.OData.JSON.V1.xml#L171:~:text= -### [valueBoolean](./Org.OData.JSON.V1.xml#L187:~:text=The JSON Schema for JSON values of the annotated media entity type, property, parameter, return type, term, or type definition
The schema can be a schema reference, i.e. `{"$ref":"url/of/schemafile#/path/to/schema/within/schemafile"}` ->>>>>>> refs/remotes/origin/main -<<<<<<< HEAD -## [JSON](./Org.OData.JSON.V1.xml#L204:~:text=>>>>>> refs/remotes/origin/main +## [JSON](Org.OData.JSON.V1.xml#L204) **Type:** Stream Textual data of media type `application/json` -## [Path](./Org.OData.JSON.V1.xml#L215:~:text= Date: Wed, 6 Nov 2024 18:48:27 +0100 Subject: [PATCH 5/5] MultiValueOrSearchExpression (#283) --- vocabularies/Org.OData.Capabilities.V1.json | 7 +- vocabularies/Org.OData.Capabilities.V1.md | 451 ++++++++++---------- vocabularies/Org.OData.Capabilities.V1.xml | 7 +- 3 files changed, 236 insertions(+), 229 deletions(-) diff --git a/vocabularies/Org.OData.Capabilities.V1.json b/vocabularies/Org.OData.Capabilities.V1.json index 501c149c..5094fda7 100644 --- a/vocabularies/Org.OData.Capabilities.V1.json +++ b/vocabularies/Org.OData.Capabilities.V1.json @@ -631,10 +631,13 @@ "Value": "SearchExpression", "@Core.Description": "String property can be used as first operand in `startswith`, `endswith`, and `contains` clauses" }, + { + "Value": "MultiValueOrSearchExpression", + "@Core.Description": "String property can be used like in `MultiValue` and like in `SearchExpression`, combined with `or`" + }, { "Value": "MultiRangeOrSearchExpression", - "@Core.Description": "Property can be compared to a union of zero or more closed, half-open, or open intervals plus zero or more simple string patterns", - "@Core.LongDescription": "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." + "@Core.Description": "String property can be used like in `MultiRange` and like in `SearchExpression`, combined with `or`" } ] }, diff --git a/vocabularies/Org.OData.Capabilities.V1.md b/vocabularies/Org.OData.Capabilities.V1.md index 9a96e47c..1d1ab1e3 100644 --- a/vocabularies/Org.OData.Capabilities.V1.md +++ b/vocabularies/Org.OData.Capabilities.V1.md @@ -68,25 +68,25 @@ Term|Type|Description [BatchSupport](Org.OData.Capabilities.V1.xml#L382)|[BatchSupportType](#BatchSupportType)|Batch Support for the service [FilterFunctions](Org.OData.Capabilities.V1.xml#L428)|\[String\]|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)|[FilterRestrictionsType](#FilterRestrictionsType)|Restrictions on filter expressions -[SortRestrictions](Org.OData.Capabilities.V1.xml#L506)|[SortRestrictionsType](#SortRestrictionsType)|Restrictions on orderby expressions -[ExpandRestrictions](Org.OData.Capabilities.V1.xml#L532)|[ExpandRestrictionsType](#ExpandRestrictionsType)|Restrictions on expand expressions -[SearchRestrictions](Org.OData.Capabilities.V1.xml#L562)|[SearchRestrictionsType](#SearchRestrictionsType)|Restrictions on search expressions -[KeyAsSegmentSupported](Org.OData.Capabilities.V1.xml#L608)|[Tag](Org.OData.Core.V1.md#Tag)|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#L612)|[Tag](Org.OData.Core.V1.md#Tag)|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#L618)|[InsertRestrictionsType](#InsertRestrictionsType)|Restrictions on insert operations -[DeepInsertSupport](Org.OData.Capabilities.V1.xml#L697)|[DeepInsertSupportType?](#DeepInsertSupportType)|Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) -[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L710)|[UpdateRestrictionsType](#UpdateRestrictionsType)|Restrictions on update operations -[DeepUpdateSupport](Org.OData.Capabilities.V1.xml#L796)|[DeepUpdateSupportType](#DeepUpdateSupportType)|Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) -[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L809)|[DeleteRestrictionsType](#DeleteRestrictionsType)|Restrictions on delete operations -[CollectionPropertyRestrictions](Org.OData.Capabilities.V1.xml#L853)|\[[CollectionPropertyRestrictionsType](#CollectionPropertyRestrictionsType)\]|Describes restrictions on operations applied to collection-valued structural properties -[OperationRestrictions](Org.OData.Capabilities.V1.xml#L894)|[OperationRestrictionsType](#OperationRestrictionsType)|Restrictions for function or action operation -[AnnotationValuesInQuerySupported](Org.OData.Capabilities.V1.xml#L914)|[Tag](Org.OData.Core.V1.md#Tag)|Supports annotation values within system query options -[ModificationQueryOptions](Org.OData.Capabilities.V1.xml#L918)|[ModificationQueryOptionsType](#ModificationQueryOptionsType)|Support for query options with modification requests (insert, update, action invocation) -[ReadRestrictions](Org.OData.Capabilities.V1.xml#L942)|[ReadRestrictionsType](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance. -[CustomHeaders](Org.OData.Capabilities.V1.xml#L984)|\[[CustomParameter](#CustomParameter)\]|Custom headers that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L986)) -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L1010)|\[[CustomParameter](#CustomParameter)\]|Custom query options that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L1013))
If the entity container is annotated, the query option is supported/required by all resources in that container. -[MediaLocationUpdateSupported](Org.OData.Capabilities.V1.xml#L1062)|[Tag](Org.OData.Core.V1.md#Tag)|Stream property or media stream supports update of its media edit URL and/or media read URL -[DefaultCapabilities](Org.OData.Capabilities.V1.xml#L1067)|[DefaultCapabilitiesType](#DefaultCapabilitiesType)|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
+[SortRestrictions](Org.OData.Capabilities.V1.xml#L509)|[SortRestrictionsType](#SortRestrictionsType)|Restrictions on orderby expressions +[ExpandRestrictions](Org.OData.Capabilities.V1.xml#L535)|[ExpandRestrictionsType](#ExpandRestrictionsType)|Restrictions on expand expressions +[SearchRestrictions](Org.OData.Capabilities.V1.xml#L565)|[SearchRestrictionsType](#SearchRestrictionsType)|Restrictions on search expressions +[KeyAsSegmentSupported](Org.OData.Capabilities.V1.xml#L611)|[Tag](Org.OData.Core.V1.md#Tag)|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#L615)|[Tag](Org.OData.Core.V1.md#Tag)|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#L621)|[InsertRestrictionsType](#InsertRestrictionsType)|Restrictions on insert operations +[DeepInsertSupport](Org.OData.Capabilities.V1.xml#L700)|[DeepInsertSupportType?](#DeepInsertSupportType)|Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L713)|[UpdateRestrictionsType](#UpdateRestrictionsType)|Restrictions on update operations +[DeepUpdateSupport](Org.OData.Capabilities.V1.xml#L799)|[DeepUpdateSupportType](#DeepUpdateSupportType)|Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) +[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L812)|[DeleteRestrictionsType](#DeleteRestrictionsType)|Restrictions on delete operations +[CollectionPropertyRestrictions](Org.OData.Capabilities.V1.xml#L856)|\[[CollectionPropertyRestrictionsType](#CollectionPropertyRestrictionsType)\]|Describes restrictions on operations applied to collection-valued structural properties +[OperationRestrictions](Org.OData.Capabilities.V1.xml#L897)|[OperationRestrictionsType](#OperationRestrictionsType)|Restrictions for function or action operation +[AnnotationValuesInQuerySupported](Org.OData.Capabilities.V1.xml#L917)|[Tag](Org.OData.Core.V1.md#Tag)|Supports annotation values within system query options +[ModificationQueryOptions](Org.OData.Capabilities.V1.xml#L921)|[ModificationQueryOptionsType](#ModificationQueryOptionsType)|Support for query options with modification requests (insert, update, action invocation) +[ReadRestrictions](Org.OData.Capabilities.V1.xml#L945)|[ReadRestrictionsType](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L987)|\[[CustomParameter](#CustomParameter)\]|Custom headers that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L989)) +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L1013)|\[[CustomParameter](#CustomParameter)\]|Custom query options that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L1016))
If the entity container is annotated, the query option is supported/required by all resources in that container. +[MediaLocationUpdateSupported](Org.OData.Capabilities.V1.xml#L1065)|[Tag](Org.OData.Core.V1.md#Tag)|Stream property or media stream supports update of its media edit URL and/or media read URL +[DefaultCapabilities](Org.OData.Capabilities.V1.xml#L1070)|[DefaultCapabilitiesType](#DefaultCapabilitiesType)|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) @@ -306,10 +306,11 @@ Allowed Value|Description [SingleRange](Org.OData.Capabilities.V1.xml#L484)|Property can be used in at most one `ge` and/or one `le` clause, separated by `and` [MultiRange](Org.OData.Capabilities.V1.xml#L488)|Property can be compared to a union of one or more closed, half-open, or open intervals
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)|String property can be used as first operand in `startswith`, `endswith`, and `contains` clauses -[MultiRangeOrSearchExpression](Org.OData.Capabilities.V1.xml#L497)|Property can be compared to a union of zero or more closed, half-open, or open intervals plus zero or more simple string patterns
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. +[MultiValueOrSearchExpression](Org.OData.Capabilities.V1.xml#L497)|String property can be used like in `MultiValue` and like in `SearchExpression`, combined with `or` +[MultiRangeOrSearchExpression](Org.OData.Capabilities.V1.xml#L501)|String property can be used like in `MultiRange` and like in `SearchExpression`, combined with `or` -## [SortRestrictionsBase](Org.OData.Capabilities.V1.xml#L510) +## [SortRestrictionsBase](Org.OData.Capabilities.V1.xml#L513) **Derived Types:** @@ -317,29 +318,29 @@ Allowed Value|Description Property|Type|Description :-------|:---|:---------- -[Sortable](Org.OData.Capabilities.V1.xml#L516)|Boolean|$orderby is supported +[Sortable](Org.OData.Capabilities.V1.xml#L519)|Boolean|$orderby is supported **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -## [SortRestrictionsType](Org.OData.Capabilities.V1.xml#L520): [SortRestrictionsBase](#SortRestrictionsBase) +## [SortRestrictionsType](Org.OData.Capabilities.V1.xml#L523): [SortRestrictionsBase](#SortRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Sortable*](Org.OData.Capabilities.V1.xml#L516)|Boolean|$orderby is supported -[AscendingOnlyProperties](Org.OData.Capabilities.V1.xml#L521)|\[PropertyPath\]|These properties can only be used for sorting in Ascending order -[DescendingOnlyProperties](Org.OData.Capabilities.V1.xml#L524)|\[PropertyPath\]|These properties can only be used for sorting in Descending order -[NonSortableProperties](Org.OData.Capabilities.V1.xml#L527)|\[PropertyPath\]|These structural properties cannot be used in orderby expressions +[*Sortable*](Org.OData.Capabilities.V1.xml#L519)|Boolean|$orderby is supported +[AscendingOnlyProperties](Org.OData.Capabilities.V1.xml#L524)|\[PropertyPath\]|These properties can only be used for sorting in Ascending order +[DescendingOnlyProperties](Org.OData.Capabilities.V1.xml#L527)|\[PropertyPath\]|These properties can only be used for sorting in Descending order +[NonSortableProperties](Org.OData.Capabilities.V1.xml#L530)|\[PropertyPath\]|These structural properties cannot be used in orderby expressions **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -## [ExpandRestrictionsBase](Org.OData.Capabilities.V1.xml#L536) +## [ExpandRestrictionsBase](Org.OData.Capabilities.V1.xml#L539) **Derived Types:** @@ -347,59 +348,59 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Expandable](Org.OData.Capabilities.V1.xml#L542)|Boolean|$expand is supported -[StreamsExpandable](Org.OData.Capabilities.V1.xml#L545)|Boolean|$expand is supported for stream properties and media streams -[MaxLevels](Org.OData.Capabilities.V1.xml#L548)|Int32|The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. +[Expandable](Org.OData.Capabilities.V1.xml#L545)|Boolean|$expand is supported +[StreamsExpandable](Org.OData.Capabilities.V1.xml#L548)|Boolean|$expand is supported for stream properties and media streams +[MaxLevels](Org.OData.Capabilities.V1.xml#L551)|Int32|The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -## [ExpandRestrictionsType](Org.OData.Capabilities.V1.xml#L552): [ExpandRestrictionsBase](#ExpandRestrictionsBase) +## [ExpandRestrictionsType](Org.OData.Capabilities.V1.xml#L555): [ExpandRestrictionsBase](#ExpandRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Expandable*](Org.OData.Capabilities.V1.xml#L542)|Boolean|$expand is supported -[*StreamsExpandable*](Org.OData.Capabilities.V1.xml#L545)|Boolean|$expand is supported for stream properties and media streams -[*MaxLevels*](Org.OData.Capabilities.V1.xml#L548)|Int32|The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. -[NonExpandableProperties](Org.OData.Capabilities.V1.xml#L553)|\[NavigationPropertyPath\]|These properties cannot be used in expand expressions -[NonExpandableStreamProperties](Org.OData.Capabilities.V1.xml#L556)|\[PropertyPath\]|These stream properties cannot be used in expand expressions +[*Expandable*](Org.OData.Capabilities.V1.xml#L545)|Boolean|$expand is supported +[*StreamsExpandable*](Org.OData.Capabilities.V1.xml#L548)|Boolean|$expand is supported for stream properties and media streams +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L551)|Int32|The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. +[NonExpandableProperties](Org.OData.Capabilities.V1.xml#L556)|\[NavigationPropertyPath\]|These properties cannot be used in expand expressions +[NonExpandableStreamProperties](Org.OData.Capabilities.V1.xml#L559)|\[PropertyPath\]|These stream properties cannot be used in expand expressions **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -## [SearchRestrictionsType](Org.OData.Capabilities.V1.xml#L566) +## [SearchRestrictionsType](Org.OData.Capabilities.V1.xml#L569) Property|Type|Description :-------|:---|:---------- -[Searchable](Org.OData.Capabilities.V1.xml#L572)|Boolean|$search is supported -[UnsupportedExpressions](Org.OData.Capabilities.V1.xml#L575)|[SearchExpressions](#SearchExpressions)|Expressions not supported in $search as specified by the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)
An unsupported expression may be treated as a term to be matched even if the standard syntax treats it as a keyword. -[SearchSyntax](Org.OData.Capabilities.V1.xml#L582)|URL?|URL of the $search syntax supported by the service (null means the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)) +[Searchable](Org.OData.Capabilities.V1.xml#L575)|Boolean|$search is supported +[UnsupportedExpressions](Org.OData.Capabilities.V1.xml#L578)|[SearchExpressions](#SearchExpressions)|Expressions not supported in $search as specified by the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)
An unsupported expression may be treated as a term to be matched even if the standard syntax treats it as a keyword. +[SearchSyntax](Org.OData.Capabilities.V1.xml#L585)|URL?|URL of the $search syntax supported by the service (null means the standard syntax [OData-URL, section 5.1.8.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part2-url-conventions.html#SearchExpressions)) **Applicable Annotation Terms:** - [Description](Org.OData.Core.V1.md#Description) -## [SearchExpressions](Org.OData.Capabilities.V1.xml#L587) +## [SearchExpressions](Org.OData.Capabilities.V1.xml#L590) Flag Member|Value|Description :-----|----:|:---------- -[none](Org.OData.Capabilities.V1.xml#L588)|0|No unsupported expressions -[AND](Org.OData.Capabilities.V1.xml#L591)|1|Multiple search terms, optionally separated by `AND` -[OR](Org.OData.Capabilities.V1.xml#L594)|2|Multiple search terms separated by `OR` -[NOT](Org.OData.Capabilities.V1.xml#L597)|4|Search terms preceded by `NOT` -[phrase](Org.OData.Capabilities.V1.xml#L600)|8|Search phrases enclosed in double quotes -[group](Org.OData.Capabilities.V1.xml#L603)|16|Precedence grouping of search expressions with parentheses +[none](Org.OData.Capabilities.V1.xml#L591)|0|No unsupported expressions +[AND](Org.OData.Capabilities.V1.xml#L594)|1|Multiple search terms, optionally separated by `AND` +[OR](Org.OData.Capabilities.V1.xml#L597)|2|Multiple search terms separated by `OR` +[NOT](Org.OData.Capabilities.V1.xml#L600)|4|Search terms preceded by `NOT` +[phrase](Org.OData.Capabilities.V1.xml#L603)|8|Search phrases enclosed in double quotes +[group](Org.OData.Capabilities.V1.xml#L606)|16|Precedence grouping of search expressions with parentheses -## [InsertRestrictionsBase](Org.OData.Capabilities.V1.xml#L622) +## [InsertRestrictionsBase](Org.OData.Capabilities.V1.xml#L625) **Derived Types:** @@ -407,65 +408,65 @@ Flag Member|Value|Description Property|Type|Description :-------|:---|:---------- -[Insertable](Org.OData.Capabilities.V1.xml#L623)|Boolean|Entities can be inserted -[MaxLevels](Org.OData.Capabilities.V1.xml#L626)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. -[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L629)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment -[QueryOptions](Org.OData.Capabilities.V1.xml#L632)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests -[CustomHeaders](Org.OData.Capabilities.V1.xml#L635)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[Description](Org.OData.Capabilities.V1.xml#L641)|String?|A brief description of the request -[LongDescription](Org.OData.Capabilities.V1.xml#L645)|String?|A long description of the request -[ErrorResponses](Org.OData.Capabilities.V1.xml#L649)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[Insertable](Org.OData.Capabilities.V1.xml#L626)|Boolean|Entities can be inserted +[MaxLevels](Org.OData.Capabilities.V1.xml#L629)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L632)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment +[QueryOptions](Org.OData.Capabilities.V1.xml#L635)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests +[CustomHeaders](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L641)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L644)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L648)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L652)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [InsertRestrictionsType](Org.OData.Capabilities.V1.xml#L653): [InsertRestrictionsBase](#InsertRestrictionsBase) +## [InsertRestrictionsType](Org.OData.Capabilities.V1.xml#L656): [InsertRestrictionsBase](#InsertRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Insertable*](Org.OData.Capabilities.V1.xml#L623)|Boolean|Entities can be inserted -[*MaxLevels*](Org.OData.Capabilities.V1.xml#L626)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. -[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L629)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment -[*QueryOptions*](Org.OData.Capabilities.V1.xml#L632)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L635)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L641)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L645)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L649)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -[NonInsertableProperties](Org.OData.Capabilities.V1.xml#L654)|\[PropertyPath\]|These structural properties cannot be specified on insert -[NonInsertableNavigationProperties](Org.OData.Capabilities.V1.xml#L657)|\[NavigationPropertyPath\]|These navigation properties do not allow deep inserts -[RequiredProperties](Org.OData.Capabilities.V1.xml#L660)|\[PropertyPath\]|These structural properties must be specified on insert -[Permissions](Org.OData.Capabilities.V1.xml#L663)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the insert. +[*Insertable*](Org.OData.Capabilities.V1.xml#L626)|Boolean|Entities can be inserted +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L629)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L632)|Boolean|Entities of a specific derived type can be created by specifying a type-cast segment +[*QueryOptions*](Org.OData.Capabilities.V1.xml#L635)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with insert requests +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L638)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L641)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L644)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L648)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L652)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonInsertableProperties](Org.OData.Capabilities.V1.xml#L657)|\[PropertyPath\]|These structural properties cannot be specified on insert +[NonInsertableNavigationProperties](Org.OData.Capabilities.V1.xml#L660)|\[NavigationPropertyPath\]|These navigation properties do not allow deep inserts +[RequiredProperties](Org.OData.Capabilities.V1.xml#L663)|\[PropertyPath\]|These structural properties must be specified on insert +[Permissions](Org.OData.Capabilities.V1.xml#L666)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the insert. -## [PermissionType](Org.OData.Capabilities.V1.xml#L668) +## [PermissionType](Org.OData.Capabilities.V1.xml#L671) Property|Type|Description :-------|:---|:---------- -[SchemeName](Org.OData.Capabilities.V1.xml#L669)|[SchemeName](Org.OData.Authorization.V1.md#SchemeName)|Authorization flow scheme name -[Scopes](Org.OData.Capabilities.V1.xml#L672)|\[[ScopeType](#ScopeType)\]|List of scopes that can provide access to the resource +[SchemeName](Org.OData.Capabilities.V1.xml#L672)|[SchemeName](Org.OData.Authorization.V1.md#SchemeName)|Authorization flow scheme name +[Scopes](Org.OData.Capabilities.V1.xml#L675)|\[[ScopeType](#ScopeType)\]|List of scopes that can provide access to the resource -## [ScopeType](Org.OData.Capabilities.V1.xml#L677) +## [ScopeType](Org.OData.Capabilities.V1.xml#L680) Property|Type|Description :-------|:---|:---------- -[Scope](Org.OData.Capabilities.V1.xml#L678)|String|Name of the scope. -[RestrictedProperties](Org.OData.Capabilities.V1.xml#L681)|String?|Comma-separated string value of all properties that will be included or excluded when using the scope.
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#L681)|String|Name of the scope. +[RestrictedProperties](Org.OData.Capabilities.V1.xml#L684)|String?|Comma-separated string value of all properties that will be included or excluded when using the scope.
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#L701) +## [DeepInsertSupportType](Org.OData.Capabilities.V1.xml#L704) Property|Type|Description :-------|:---|:---------- -[Supported](Org.OData.Capabilities.V1.xml#L702)|Boolean|Annotation target supports deep inserts -[ContentIDSupported](Org.OData.Capabilities.V1.xml#L705)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. +[Supported](Org.OData.Capabilities.V1.xml#L705)|Boolean|Annotation target supports deep inserts +[ContentIDSupported](Org.OData.Capabilities.V1.xml#L708)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. -## [UpdateRestrictionsBase](Org.OData.Capabilities.V1.xml#L714) +## [UpdateRestrictionsBase](Org.OData.Capabilities.V1.xml#L717) **Derived Types:** @@ -473,70 +474,70 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Updatable](Org.OData.Capabilities.V1.xml#L715)|Boolean|Entities can be updated -[Upsertable](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be upserted -[DeltaUpdateSupported](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload -[UpdateMethod](Org.OData.Capabilities.V1.xml#L724)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. -[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L727)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment -[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment -[MaxLevels](Org.OData.Capabilities.V1.xml#L733)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. -[Permissions](Org.OData.Capabilities.V1.xml#L736)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. -[QueryOptions](Org.OData.Capabilities.V1.xml#L739)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests -[CustomHeaders](Org.OData.Capabilities.V1.xml#L742)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[Description](Org.OData.Capabilities.V1.xml#L748)|String?|A brief description of the request -[LongDescription](Org.OData.Capabilities.V1.xml#L752)|String?|A long description of the request -[ErrorResponses](Org.OData.Capabilities.V1.xml#L756)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[Updatable](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be updated +[Upsertable](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be upserted +[DeltaUpdateSupported](Org.OData.Capabilities.V1.xml#L724)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload +[UpdateMethod](Org.OData.Capabilities.V1.xml#L727)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L733)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment +[MaxLevels](Org.OData.Capabilities.V1.xml#L736)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. +[Permissions](Org.OData.Capabilities.V1.xml#L739)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. +[QueryOptions](Org.OData.Capabilities.V1.xml#L742)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests +[CustomHeaders](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L748)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L751)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L755)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L759)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [UpdateRestrictionsType](Org.OData.Capabilities.V1.xml#L760): [UpdateRestrictionsBase](#UpdateRestrictionsBase) +## [UpdateRestrictionsType](Org.OData.Capabilities.V1.xml#L763): [UpdateRestrictionsBase](#UpdateRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Updatable*](Org.OData.Capabilities.V1.xml#L715)|Boolean|Entities can be updated -[*Upsertable*](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be upserted -[*DeltaUpdateSupported*](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload -[*UpdateMethod*](Org.OData.Capabilities.V1.xml#L724)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. -[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L727)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment -[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment -[*MaxLevels*](Org.OData.Capabilities.V1.xml#L733)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. -[*Permissions*](Org.OData.Capabilities.V1.xml#L736)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. -[*QueryOptions*](Org.OData.Capabilities.V1.xml#L739)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L742)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L748)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L752)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L756)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -[NonUpdatableProperties](Org.OData.Capabilities.V1.xml#L761)|\[PropertyPath\]|These structural properties cannot be specified on update -[NonUpdatableNavigationProperties](Org.OData.Capabilities.V1.xml#L764)|\[NavigationPropertyPath\]|These navigation properties do not allow rebinding -[RequiredProperties](Org.OData.Capabilities.V1.xml#L767)|\[PropertyPath\]|These structural properties must be specified on update +[*Updatable*](Org.OData.Capabilities.V1.xml#L718)|Boolean|Entities can be updated +[*Upsertable*](Org.OData.Capabilities.V1.xml#L721)|Boolean|Entities can be upserted +[*DeltaUpdateSupported*](Org.OData.Capabilities.V1.xml#L724)|Boolean|Entities can be inserted, updated, and deleted via a PATCH request with a delta payload +[*UpdateMethod*](Org.OData.Capabilities.V1.xml#L727)|[HttpMethod?](#HttpMethod)|Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. +[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L730)|Boolean|Members of collections can be updated via a PATCH request with a `/$filter(...)/$each` segment +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L733)|Boolean|Members of collections can be updated via a PATCH request with a type-cast segment and a `/$each` segment +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L736)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. +[*Permissions*](Org.OData.Capabilities.V1.xml#L739)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the update. +[*QueryOptions*](Org.OData.Capabilities.V1.xml#L742)|[ModificationQueryOptionsType?](#ModificationQueryOptionsType)|Support for query options with update requests +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L745)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L748)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L751)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L755)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L759)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonUpdatableProperties](Org.OData.Capabilities.V1.xml#L764)|\[PropertyPath\]|These structural properties cannot be specified on update +[NonUpdatableNavigationProperties](Org.OData.Capabilities.V1.xml#L767)|\[NavigationPropertyPath\]|These navigation properties do not allow rebinding +[RequiredProperties](Org.OData.Capabilities.V1.xml#L770)|\[PropertyPath\]|These structural properties must be specified on update -## [HttpMethod](Org.OData.Capabilities.V1.xml#L772) +## [HttpMethod](Org.OData.Capabilities.V1.xml#L775) Flag Member|Value|Description :-----|----:|:---------- -[GET](Org.OData.Capabilities.V1.xml#L773)|1|The HTTP GET Method -[PATCH](Org.OData.Capabilities.V1.xml#L776)|2|The HTTP PATCH Method -[PUT](Org.OData.Capabilities.V1.xml#L779)|4|The HTTP PUT Method -[POST](Org.OData.Capabilities.V1.xml#L782)|8|The HTTP POST Method -[DELETE](Org.OData.Capabilities.V1.xml#L785)|16|The HTTP DELETE Method -[OPTIONS](Org.OData.Capabilities.V1.xml#L788)|32|The HTTP OPTIONS Method -[HEAD](Org.OData.Capabilities.V1.xml#L791)|64|The HTTP HEAD Method +[GET](Org.OData.Capabilities.V1.xml#L776)|1|The HTTP GET Method +[PATCH](Org.OData.Capabilities.V1.xml#L779)|2|The HTTP PATCH Method +[PUT](Org.OData.Capabilities.V1.xml#L782)|4|The HTTP PUT Method +[POST](Org.OData.Capabilities.V1.xml#L785)|8|The HTTP POST Method +[DELETE](Org.OData.Capabilities.V1.xml#L788)|16|The HTTP DELETE Method +[OPTIONS](Org.OData.Capabilities.V1.xml#L791)|32|The HTTP OPTIONS Method +[HEAD](Org.OData.Capabilities.V1.xml#L794)|64|The HTTP HEAD Method -## [DeepUpdateSupportType](Org.OData.Capabilities.V1.xml#L800) +## [DeepUpdateSupportType](Org.OData.Capabilities.V1.xml#L803) Property|Type|Description :-------|:---|:---------- -[Supported](Org.OData.Capabilities.V1.xml#L801)|Boolean|Annotation target supports deep updates -[ContentIDSupported](Org.OData.Capabilities.V1.xml#L804)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. +[Supported](Org.OData.Capabilities.V1.xml#L804)|Boolean|Annotation target supports deep updates +[ContentIDSupported](Org.OData.Capabilities.V1.xml#L807)|Boolean|Annotation target supports accepting and returning nested entities annotated with the `Core.ContentID` instance annotation. -## [DeleteRestrictionsBase](Org.OData.Capabilities.V1.xml#L813) +## [DeleteRestrictionsBase](Org.OData.Capabilities.V1.xml#L816) **Derived Types:** @@ -544,80 +545,80 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Deletable](Org.OData.Capabilities.V1.xml#L814)|Boolean|Entities can be deleted -[MaxLevels](Org.OData.Capabilities.V1.xml#L817)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. -[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L820)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment -[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment -[Permissions](Org.OData.Capabilities.V1.xml#L826)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. -[CustomHeaders](Org.OData.Capabilities.V1.xml#L829)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[Description](Org.OData.Capabilities.V1.xml#L835)|String?|A brief description of the request -[LongDescription](Org.OData.Capabilities.V1.xml#L839)|String?|A long description of the request -[ErrorResponses](Org.OData.Capabilities.V1.xml#L843)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[Deletable](Org.OData.Capabilities.V1.xml#L817)|Boolean|Entities can be deleted +[MaxLevels](Org.OData.Capabilities.V1.xml#L820)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L826)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment +[Permissions](Org.OData.Capabilities.V1.xml#L829)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L835)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L838)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L842)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L846)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [DeleteRestrictionsType](Org.OData.Capabilities.V1.xml#L847): [DeleteRestrictionsBase](#DeleteRestrictionsBase) +## [DeleteRestrictionsType](Org.OData.Capabilities.V1.xml#L850): [DeleteRestrictionsBase](#DeleteRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Deletable*](Org.OData.Capabilities.V1.xml#L814)|Boolean|Entities can be deleted -[*MaxLevels*](Org.OData.Capabilities.V1.xml#L817)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. -[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L820)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment -[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment -[*Permissions*](Org.OData.Capabilities.V1.xml#L826)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L829)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L835)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L839)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L843)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -[NonDeletableNavigationProperties](Org.OData.Capabilities.V1.xml#L848)|\[NavigationPropertyPath\]|These navigation properties do not allow DeleteLink requests +[*Deletable*](Org.OData.Capabilities.V1.xml#L817)|Boolean|Entities can be deleted +[*MaxLevels*](Org.OData.Capabilities.V1.xml#L820)|Int32|The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. +[*FilterSegmentSupported*](Org.OData.Capabilities.V1.xml#L823)|Boolean|Members of collections can be deleted via a DELETE request with a `/$filter(...)/$each` segment +[*TypecastSegmentSupported*](Org.OData.Capabilities.V1.xml#L826)|Boolean|Members of collections can be deleted via a DELETE request with a type-cast segment and a `/$each` segment +[*Permissions*](Org.OData.Capabilities.V1.xml#L829)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to perform the delete. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L832)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L835)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L838)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L842)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L846)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[NonDeletableNavigationProperties](Org.OData.Capabilities.V1.xml#L851)|\[NavigationPropertyPath\]|These navigation properties do not allow DeleteLink requests -## [CollectionPropertyRestrictionsType](Org.OData.Capabilities.V1.xml#L856) +## [CollectionPropertyRestrictionsType](Org.OData.Capabilities.V1.xml#L859) Property|Type|Description :-------|:---|:---------- -[CollectionProperty](Org.OData.Capabilities.V1.xml#L857)|PropertyPath?|Restricted Collection-valued property -[FilterFunctions](Org.OData.Capabilities.V1.xml#L860)|\[String\]|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#L864)|[FilterRestrictionsType?](#FilterRestrictionsType)|Restrictions on filter expressions -[SearchRestrictions](Org.OData.Capabilities.V1.xml#L867)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions -[SortRestrictions](Org.OData.Capabilities.V1.xml#L870)|[SortRestrictionsType?](#SortRestrictionsType)|Restrictions on orderby expressions -[TopSupported](Org.OData.Capabilities.V1.xml#L873)|Boolean|Supports $top -[SkipSupported](Org.OData.Capabilities.V1.xml#L876)|Boolean|Supports $skip -[SelectSupport](Org.OData.Capabilities.V1.xml#L879)|[SelectSupportType?](#SelectSupportType)|Support for $select -[Insertable](Org.OData.Capabilities.V1.xml#L882)|Boolean|Members can be inserted into this collection
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#L886)|Boolean|Members of this ordered collection can be updated by ordinal -[Deletable](Org.OData.Capabilities.V1.xml#L889)|Boolean|Members of this ordered collection can be deleted by ordinal +[CollectionProperty](Org.OData.Capabilities.V1.xml#L860)|PropertyPath?|Restricted Collection-valued property +[FilterFunctions](Org.OData.Capabilities.V1.xml#L863)|\[String\]|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#L867)|[FilterRestrictionsType?](#FilterRestrictionsType)|Restrictions on filter expressions +[SearchRestrictions](Org.OData.Capabilities.V1.xml#L870)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions +[SortRestrictions](Org.OData.Capabilities.V1.xml#L873)|[SortRestrictionsType?](#SortRestrictionsType)|Restrictions on orderby expressions +[TopSupported](Org.OData.Capabilities.V1.xml#L876)|Boolean|Supports $top +[SkipSupported](Org.OData.Capabilities.V1.xml#L879)|Boolean|Supports $skip +[SelectSupport](Org.OData.Capabilities.V1.xml#L882)|[SelectSupportType?](#SelectSupportType)|Support for $select +[Insertable](Org.OData.Capabilities.V1.xml#L885)|Boolean|Members can be inserted into this collection
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#L889)|Boolean|Members of this ordered collection can be updated by ordinal +[Deletable](Org.OData.Capabilities.V1.xml#L892)|Boolean|Members of this ordered collection can be deleted by ordinal -## [OperationRestrictionsType](Org.OData.Capabilities.V1.xml#L897) +## [OperationRestrictionsType](Org.OData.Capabilities.V1.xml#L900) Property|Type|Description :-------|:---|:---------- -[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L898)|Boolean|Bound action or function can be invoked on a collection-valued binding parameter path with a `/$filter(...)` segment -[Permissions](Org.OData.Capabilities.V1.xml#L901)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to invoke an action or function -[CustomHeaders](Org.OData.Capabilities.V1.xml#L904)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L907)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[ErrorResponses](Org.OData.Capabilities.V1.xml#L910)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[FilterSegmentSupported](Org.OData.Capabilities.V1.xml#L901)|Boolean|Bound action or function can be invoked on a collection-valued binding parameter path with a `/$filter(...)` segment +[Permissions](Org.OData.Capabilities.V1.xml#L904)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to invoke an action or function +[CustomHeaders](Org.OData.Capabilities.V1.xml#L907)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L910)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[ErrorResponses](Org.OData.Capabilities.V1.xml#L913)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [ModificationQueryOptionsType](Org.OData.Capabilities.V1.xml#L921) +## [ModificationQueryOptionsType](Org.OData.Capabilities.V1.xml#L924) Property|Type|Description :-------|:---|:---------- -[ExpandSupported](Org.OData.Capabilities.V1.xml#L922)|Boolean|Supports $expand with modification requests -[SelectSupported](Org.OData.Capabilities.V1.xml#L925)|Boolean|Supports $select with modification requests -[ComputeSupported](Org.OData.Capabilities.V1.xml#L928)|Boolean|Supports $compute with modification requests -[FilterSupported](Org.OData.Capabilities.V1.xml#L931)|Boolean|Supports $filter with modification requests -[SearchSupported](Org.OData.Capabilities.V1.xml#L934)|Boolean|Supports $search with modification requests -[SortSupported](Org.OData.Capabilities.V1.xml#L937)|Boolean|Supports $orderby with modification requests +[ExpandSupported](Org.OData.Capabilities.V1.xml#L925)|Boolean|Supports $expand with modification requests +[SelectSupported](Org.OData.Capabilities.V1.xml#L928)|Boolean|Supports $select with modification requests +[ComputeSupported](Org.OData.Capabilities.V1.xml#L931)|Boolean|Supports $compute with modification requests +[FilterSupported](Org.OData.Capabilities.V1.xml#L934)|Boolean|Supports $filter with modification requests +[SearchSupported](Org.OData.Capabilities.V1.xml#L937)|Boolean|Supports $search with modification requests +[SortSupported](Org.OData.Capabilities.V1.xml#L940)|Boolean|Supports $orderby with modification requests -## [*ReadRestrictionsBase*](Org.OData.Capabilities.V1.xml#L946) +## [*ReadRestrictionsBase*](Org.OData.Capabilities.V1.xml#L949) **Derived Types:** @@ -626,86 +627,86 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Readable](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved -[Permissions](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. -[CustomHeaders](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[Description](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request -[LongDescription](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request -[ErrorResponses](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[Readable](Org.OData.Capabilities.V1.xml#L950)|Boolean|Entities can be retrieved +[Permissions](Org.OData.Capabilities.V1.xml#L953)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[CustomHeaders](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L959)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[Description](Org.OData.Capabilities.V1.xml#L962)|String?|A brief description of the request +[LongDescription](Org.OData.Capabilities.V1.xml#L966)|String?|A long description of the request +[ErrorResponses](Org.OData.Capabilities.V1.xml#L970)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [ReadByKeyRestrictionsType](Org.OData.Capabilities.V1.xml#L971): [ReadRestrictionsBase](#ReadRestrictionsBase) +## [ReadByKeyRestrictionsType](Org.OData.Capabilities.V1.xml#L974): [ReadRestrictionsBase](#ReadRestrictionsBase) Restrictions for retrieving an entity by key Property|Type|Description :-------|:---|:---------- -[*Readable*](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved -[*Permissions*](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[*Readable*](Org.OData.Capabilities.V1.xml#L950)|Boolean|Entities can be retrieved +[*Permissions*](Org.OData.Capabilities.V1.xml#L953)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L959)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L962)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L966)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L970)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -## [ReadRestrictionsType](Org.OData.Capabilities.V1.xml#L974): [ReadRestrictionsBase](#ReadRestrictionsBase) +## [ReadRestrictionsType](Org.OData.Capabilities.V1.xml#L977): [ReadRestrictionsBase](#ReadRestrictionsBase) Property|Type|Description :-------|:---|:---------- -[*Readable*](Org.OData.Capabilities.V1.xml#L947)|Boolean|Entities can be retrieved -[*Permissions*](Org.OData.Capabilities.V1.xml#L950)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. -[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L953)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers -[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options -[*Description*](Org.OData.Capabilities.V1.xml#L959)|String?|A brief description of the request -[*LongDescription*](Org.OData.Capabilities.V1.xml#L963)|String?|A long description of the request -[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L967)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. -[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L975)|Boolean|Entities of a specific derived type can be read by specifying a type-cast segment -[ReadByKeyRestrictions](Org.OData.Capabilities.V1.xml#L978)|[ReadByKeyRestrictionsType?](#ReadByKeyRestrictionsType)|Restrictions for retrieving an entity by key
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#L950)|Boolean|Entities can be retrieved +[*Permissions*](Org.OData.Capabilities.V1.xml#L953)|\[[PermissionType?](#PermissionType)\]|Required permissions. One of the specified sets of scopes is required to read. +[*CustomHeaders*](Org.OData.Capabilities.V1.xml#L956)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom headers +[*CustomQueryOptions*](Org.OData.Capabilities.V1.xml#L959)|\[[CustomParameter](#CustomParameter)\]|Supported or required custom query options +[*Description*](Org.OData.Capabilities.V1.xml#L962)|String?|A brief description of the request +[*LongDescription*](Org.OData.Capabilities.V1.xml#L966)|String?|A long description of the request +[*ErrorResponses*](Org.OData.Capabilities.V1.xml#L970)|\[[HttpResponse](#HttpResponse)\]|Possible error responses returned by the request. +[TypecastSegmentSupported](Org.OData.Capabilities.V1.xml#L978)|Boolean|Entities of a specific derived type can be read by specifying a type-cast segment +[ReadByKeyRestrictions](Org.OData.Capabilities.V1.xml#L981)|[ReadByKeyRestrictionsType?](#ReadByKeyRestrictionsType)|Restrictions for retrieving an entity by key
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#L1041) +## [CustomParameter](Org.OData.Capabilities.V1.xml#L1044) A custom parameter is either a header or a query option The type of a custom parameter is always a string. Restrictions on the parameter values can be expressed by annotating the record expression describing the parameter with terms from the Validation vocabulary, e.g. Validation.Pattern or Validation.AllowedValues. Property|Type|Description :-------|:---|:---------- -[Name](Org.OData.Capabilities.V1.xml#L1044)|String|Name of the custom parameter -[Description](Org.OData.Capabilities.V1.xml#L1047)|String?|Description of the custom parameter -[DocumentationURL](Org.OData.Capabilities.V1.xml#L1050)|URL?|URL of related documentation -[Required](Org.OData.Capabilities.V1.xml#L1054)|Boolean|true: parameter is required, false or not specified: parameter is optional -[ExampleValues](Org.OData.Capabilities.V1.xml#L1057)|\[[PrimitiveExampleValue](Org.OData.Core.V1.md#PrimitiveExampleValue)\]|Example values for the custom parameter +[Name](Org.OData.Capabilities.V1.xml#L1047)|String|Name of the custom parameter +[Description](Org.OData.Capabilities.V1.xml#L1050)|String?|Description of the custom parameter +[DocumentationURL](Org.OData.Capabilities.V1.xml#L1053)|URL?|URL of related documentation +[Required](Org.OData.Capabilities.V1.xml#L1057)|Boolean|true: parameter is required, false or not specified: parameter is optional +[ExampleValues](Org.OData.Capabilities.V1.xml#L1060)|\[[PrimitiveExampleValue](Org.OData.Core.V1.md#PrimitiveExampleValue)\]|Example values for the custom parameter -## [DefaultCapabilitiesType](Org.OData.Capabilities.V1.xml#L1076) +## [DefaultCapabilitiesType](Org.OData.Capabilities.V1.xml#L1079) Property|Type|Description :-------|:---|:---------- -[ChangeTracking](Org.OData.Capabilities.V1.xml#L1077)|[ChangeTrackingBase?](#ChangeTrackingBase)|Change tracking capabilities -[CountRestrictions](Org.OData.Capabilities.V1.xml#L1080)|[CountRestrictionsBase?](#CountRestrictionsBase)|Restrictions on /$count path suffix and $count=true system query option -[IndexableByKey](Org.OData.Capabilities.V1.xml#L1083)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports key values according to OData URL conventions -[TopSupported](Org.OData.Capabilities.V1.xml#L1086)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $top -[SkipSupported](Org.OData.Capabilities.V1.xml#L1089)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $skip -[ComputeSupported](Org.OData.Capabilities.V1.xml#L1092)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $compute -[SelectSupport](Org.OData.Capabilities.V1.xml#L1095)|[SelectSupportType?](#SelectSupportType)|Support for $select and nested query options within $select -[FilterRestrictions](Org.OData.Capabilities.V1.xml#L1098)|[FilterRestrictionsBase?](#FilterRestrictionsBase)|Restrictions on filter expressions -[SortRestrictions](Org.OData.Capabilities.V1.xml#L1101)|[SortRestrictionsBase?](#SortRestrictionsBase)|Restrictions on orderby expressions -[ExpandRestrictions](Org.OData.Capabilities.V1.xml#L1104)|[ExpandRestrictionsBase?](#ExpandRestrictionsBase)|Restrictions on expand expressions -[SearchRestrictions](Org.OData.Capabilities.V1.xml#L1107)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions -[InsertRestrictions](Org.OData.Capabilities.V1.xml#L1110)|[InsertRestrictionsBase?](#InsertRestrictionsBase)|Restrictions on insert operations -[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L1113)|[UpdateRestrictionsBase?](#UpdateRestrictionsBase)|Restrictions on update operations -[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L1116)|[DeleteRestrictionsBase?](#DeleteRestrictionsBase)|Restrictions on delete operations -[OperationRestrictions](Org.OData.Capabilities.V1.xml#L1119)|[OperationRestrictionsType?](#OperationRestrictionsType)|Restrictions for function or action operations -[ReadRestrictions](Org.OData.Capabilities.V1.xml#L1122)|[ReadRestrictionsType?](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance +[ChangeTracking](Org.OData.Capabilities.V1.xml#L1080)|[ChangeTrackingBase?](#ChangeTrackingBase)|Change tracking capabilities +[CountRestrictions](Org.OData.Capabilities.V1.xml#L1083)|[CountRestrictionsBase?](#CountRestrictionsBase)|Restrictions on /$count path suffix and $count=true system query option +[IndexableByKey](Org.OData.Capabilities.V1.xml#L1086)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports key values according to OData URL conventions +[TopSupported](Org.OData.Capabilities.V1.xml#L1089)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $top +[SkipSupported](Org.OData.Capabilities.V1.xml#L1092)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $skip +[ComputeSupported](Org.OData.Capabilities.V1.xml#L1095)|[Tag?](Org.OData.Core.V1.md#Tag)|Supports $compute +[SelectSupport](Org.OData.Capabilities.V1.xml#L1098)|[SelectSupportType?](#SelectSupportType)|Support for $select and nested query options within $select +[FilterRestrictions](Org.OData.Capabilities.V1.xml#L1101)|[FilterRestrictionsBase?](#FilterRestrictionsBase)|Restrictions on filter expressions +[SortRestrictions](Org.OData.Capabilities.V1.xml#L1104)|[SortRestrictionsBase?](#SortRestrictionsBase)|Restrictions on orderby expressions +[ExpandRestrictions](Org.OData.Capabilities.V1.xml#L1107)|[ExpandRestrictionsBase?](#ExpandRestrictionsBase)|Restrictions on expand expressions +[SearchRestrictions](Org.OData.Capabilities.V1.xml#L1110)|[SearchRestrictionsType?](#SearchRestrictionsType)|Restrictions on search expressions +[InsertRestrictions](Org.OData.Capabilities.V1.xml#L1113)|[InsertRestrictionsBase?](#InsertRestrictionsBase)|Restrictions on insert operations +[UpdateRestrictions](Org.OData.Capabilities.V1.xml#L1116)|[UpdateRestrictionsBase?](#UpdateRestrictionsBase)|Restrictions on update operations +[DeleteRestrictions](Org.OData.Capabilities.V1.xml#L1119)|[DeleteRestrictionsBase?](#DeleteRestrictionsBase)|Restrictions on delete operations +[OperationRestrictions](Org.OData.Capabilities.V1.xml#L1122)|[OperationRestrictionsType?](#OperationRestrictionsType)|Restrictions for function or action operations +[ReadRestrictions](Org.OData.Capabilities.V1.xml#L1125)|[ReadRestrictionsType?](#ReadRestrictionsType)|Restrictions for retrieving a collection of entities, retrieving a singleton instance -## [HttpResponse](Org.OData.Capabilities.V1.xml#L1127) +## [HttpResponse](Org.OData.Capabilities.V1.xml#L1130) Property|Type|Description :-------|:---|:---------- -[StatusCode](Org.OData.Capabilities.V1.xml#L1128)|String|HTTP response status code, for example 400, 403, 501 -[Description](Org.OData.Capabilities.V1.xml#L1131)|String|Human-readable description of the response +[StatusCode](Org.OData.Capabilities.V1.xml#L1131)|String|HTTP response status code, for example 400, 403, 501 +[Description](Org.OData.Capabilities.V1.xml#L1134)|String|Human-readable description of the response diff --git a/vocabularies/Org.OData.Capabilities.V1.xml b/vocabularies/Org.OData.Capabilities.V1.xml index edb29d17..bfe778d9 100644 --- a/vocabularies/Org.OData.Capabilities.V1.xml +++ b/vocabularies/Org.OData.Capabilities.V1.xml @@ -494,10 +494,13 @@ supported: + + + + - - +