Azure Cosmos DB API

The Azure Cosmos DB REST API provides data plane operations for documents, collections, databases, and stored procedures across multiple API models including NoSQL, MongoDB, Cassandra, Gremlin, and Table. The resource provider API enables account management, throughput configuration, and global distribution settings.

OpenAPI Specification

microsoft-azure-cosmos-db-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Cosmos DB REST API
  description: The Azure Cosmos DB REST API provides data plane operations for documents, collections,
    databases, users, and stored procedures within a Cosmos DB account using the SQL (Core) API. Authentication
    uses master keys or Azure AD tokens via the Authorization header.
  version: '2018-12-31'
externalDocs:
  description: Azure Cosmos DB REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/cosmos-db/
servers:
- url: https://{account}.documents.azure.com
  variables:
    account:
      default: myaccount
      description: Cosmos DB account name
tags:
- name: Databases
  description: Databases operations
- name: Collections
  description: Collections operations
- name: Documents
  description: Documents operations
- name: Users
  description: Users operations
- name: Permissions
  description: Permissions operations
- name: Stored Procedures
  description: Stored Procedures operations
- name: Triggers
  description: Triggers operations
- name: User Defined Functions
  description: User Defined Functions operations
security:
- masterKey: []
paths:
  /dbs:
    get:
      operationId: listDatabases
      summary: Cosmos DB List databases
      description: Lists all databases in the account.
      tags:
      - Databases
      responses:
        '200':
          description: List of databases
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseList'
    post:
      operationId: createDatabase
      summary: Cosmos DB Create database
      description: Creates a new database.
      tags:
      - Databases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
      responses:
        '201':
          description: Database created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Database'
  /dbs/{databaseId}:
    parameters:
    - name: databaseId
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getDatabase
      summary: Cosmos DB Get database
      description: Retrieves a database.
      tags:
      - Databases
      responses:
        '200':
          description: Database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Database'
    delete:
      operationId: deleteDatabase
      summary: Cosmos DB Delete database
      description: Deletes a database.
      tags:
      - Databases
      responses:
        '204':
          description: Database deleted
  /dbs/{databaseId}/colls:
    parameters:
    - name: databaseId
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: listCollections
      summary: Cosmos DB List collections
      description: Lists all collections in a database.
      tags:
      - Collections
      responses:
        '200':
          description: List of collections
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createCollection
      summary: Cosmos DB Create collection
      description: Creates a new collection.
      tags:
      - Collections
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Collection created
          content:
            application/json:
              schema:
                type: object
  /dbs/{databaseId}/colls/{collectionId}/docs:
    parameters:
    - name: databaseId
      in: path
      required: true
      schema:
        type: string
    - name: collectionId
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: listDocuments
      summary: Cosmos DB List documents
      description: Lists documents in a collection.
      tags:
      - Documents
      responses:
        '200':
          description: List of documents
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createDocument
      summary: Cosmos DB Create document
      description: Creates a new document.
      tags:
      - Documents
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '201':
          description: Document created
          content:
            application/json:
              schema:
                type: object
  /dbs/{databaseId}/colls/{collectionId}/docs/{documentId}:
    parameters:
    - name: databaseId
      in: path
      required: true
      schema:
        type: string
    - name: collectionId
      in: path
      required: true
      schema:
        type: string
    - name: documentId
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getDocument
      summary: Cosmos DB Get document
      description: Retrieves a document.
      tags:
      - Documents
      responses:
        '200':
          description: Document
          content:
            application/json:
              schema:
                type: object
    put:
      operationId: replaceDocument
      summary: Cosmos DB Replace document
      description: Replaces an existing document.
      tags:
      - Documents
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Document replaced
          content:
            application/json:
              schema:
                type: object
    delete:
      operationId: deleteDocument
      summary: Cosmos DB Delete document
      description: Deletes a document.
      tags:
      - Documents
      responses:
        '204':
          description: Document deleted
components:
  schemas:
    Database:
      type: object
      properties:
        id:
          type: string
        _rid:
          type: string
        _self:
          type: string
        _etag:
          type: string
        _ts:
          type: integer
        _colls:
          type: string
        _users:
          type: string
    DatabaseList:
      type: object
      properties:
        _rid:
          type: string
        Databases:
          type: array
          items:
            $ref: '#/components/schemas/Database'
        _count:
          type: integer
  securitySchemes:
    masterKey:
      type: apiKey
      in: header
      name: Authorization
      description: Master key or resource token in Authorization header
x-generated-from: https://learn.microsoft.com/en-us/rest/api/cosmos-db/
x-generated-by: claude-crawl-2026-05-08