Common Azure Cosmos DB REST request headers
The following request headers are common to all tasks that you might do with the SQL API:
Header | Required | Type | Description |
---|---|---|---|
Authorization | Required | String | The authorization token for the request. For more information on generating a valid authorization token, see Access Control on Cosmos DB Resources |
Content-Type | Required (on PUT, PATCH and POST) | String | For POST on query operations, it must be application/query+json. For PATCH operations, it must be application/json_patch+json. For attachments, must be set to the Mime type of the attachment. For more information on Mime types, see Create an Attachment For all other tasks, must be application/json. |
If-Match | Optional (applicable only on PUT and DELETE) | String | Used to make operation conditional for optimistic concurrency. The value should be the etag value of the resource. |
If-None-Match | Optional (applicable only on GET) | String | Makes operation conditional to only execute if the resource has changed. The value should be the etag of the resource. |
If-Modified-Since | Optional (applicable only on GET) | Date | Returns etag of resource modified after specified date in RFC 1123 format. Ignored when If-None-Match is specified |
User-Agent | Optional | String | A string that specifies the client user agent performing the request. The recommended format is {user agent name}/{version}. For example, the official SQL API .NET SDK sets the User-Agent string to Microsoft.Document.Client/1.0.0.0. A custom user-agent could be something like ContosoMarketingApp/1.0.0. |
x-ms-activity-id | Optional | String | A client supplied identifier for the operation, which is echoed in the server response. The recommended value is a unique identifier. |
x-ms-consistency-level | Optional | String | The consistency level override for read options against documents and attachments. The valid values are: Strong, Bounded, Session, or Eventual (in order of strongest to weakest). The override must be the same or weaker than the account’s configured consistency level. |
x-ms-continuation | Optional | String | A string token returned for queries and read-feed operations if there are more results to be read. Clients can retrieve the next page of results by resubmitting the request with the x-ms-continuation request header set to this value. |
x-ms-date | Required | Date | The date of the request per RFC 1123 date format expressed in Coordinated Universal Time, for example, Fri, 08 Apr 2015 03:52:31 GMT. |
x-ms-max-item-count | Optional | Number | An integer indicating the maximum number of items to be returned per page. An x-ms-max-item-count of -1 can be specified to let the service determine the optimal item count. This is the recommended configuration value for x-ms-max-item-count |
x-ms-documentdb-partitionkey | Optional | Array | The partition key value for the requested document or attachment operation. Required for operations against documents and attachments when the collection definition includes a partition key definition. This value is used to scope your query to documents that match the partition key criteria. By design it's a single partition query. Supported in API versions 2015-12-16 and newer. Currently, the SQL API supports a single partition key, so this is an array containing just one value. |
x-ms-documentdb-query-enablecrosspartition | Optional | Boolean | When this header is set to true and if your query doesn't have a partition key, Azure Cosmos DB fans out the query across partitions. The fan out is done by issuing individual queries to all the partitions. To read the query results, the client applications should consume the results from the FeedResponse and check for the ContinuationToken property. To read all the results, keep iterating on the data until the ContinuationToken is null. |
x-ms-session-token | Required (for session consistency only) | String | A string token used with session level consistency. For more information, see Using consistency levels in Cosmos DB |
x-ms-version | Required | String | The version of the Cosmos DB REST service. For a list of supported API versions, see Azure Cosmos DB REST API Reference |
A-IM | Optional | String | Indicates a change feed request. Must be set to "Incremental feed", or omitted otherwise. |
x-ms-documentdb-partitionkeyrangeid | Optional | Number | Used in change feed requests. The partition key range ID for reading data. |
x-ms-cosmos-allow-tentative-writes | Optional | Boolean | When this header is set to true for the Azure Cosmos accounts configured with multiple write locations, Azure Cosmos DB will allow writes to all locations. Write requests with the value of this header set to false (or if the header is absent) will fail with 403 Response Status code with error message "Writes are not allowed in the region". |
See also