Azure SQL Database API

The Azure SQL Database REST API provides management operations for SQL databases, elastic pools, servers, failover groups, and firewall rules. It supports database creation, scaling, backup management, auditing configuration, threat detection, and transparent data encryption through Azure Resource Manager.

OpenAPI Specification

microsoft-azure-sql-database-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure SQL Database REST API
  description: >-
    Minimal OpenAPI definition for the Azure SQL Database management REST API
    (via Azure Resource Manager) covering servers, databases, elastic pools,
    firewall rules, and failover groups.
  version: '2021-11-01'
  x-generated-from: https://learn.microsoft.com/en-us/rest/api/sql/
  x-generated-by: claude-crawl-2026-05-08
servers:
  - url: https://management.azure.com
    description: Azure Resource Manager
security:
  - bearerAuth: []
tags:
  - name: Servers
  - name: Databases
  - name: ElasticPools
  - name: FirewallRules
  - name: FailoverGroups
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [Servers]
      summary: List servers in subscription
      operationId: listServers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [Servers]
      summary: List servers in resource group
      operationId: listServersByResourceGroup
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [Servers]
      summary: Get server
      operationId: getServer
      responses:
        '200':
          description: OK
    put:
      tags: [Servers]
      summary: Create or update server
      operationId: createOrUpdateServer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericObject'
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
    delete:
      tags: [Servers]
      summary: Delete server
      operationId: deleteServer
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
        '204':
          description: No Content
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [Databases]
      summary: List databases by server
      operationId: listDatabasesByServer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/DatabaseName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [Databases]
      summary: Get database
      operationId: getDatabase
      responses:
        '200':
          description: OK
    put:
      tags: [Databases]
      summary: Create or update database
      operationId: createOrUpdateDatabase
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericObject'
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
    patch:
      tags: [Databases]
      summary: Update database
      operationId: updateDatabase
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericObject'
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
    delete:
      tags: [Databases]
      summary: Delete database
      operationId: deleteDatabase
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
        '204':
          description: No Content
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [ElasticPools]
      summary: List elastic pools by server
      operationId: listElasticPoolsByServer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [FirewallRules]
      summary: List firewall rules by server
      operationId: listFirewallRulesByServer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - in: path
        name: firewallRuleName
        required: true
        schema: { type: string }
      - $ref: '#/components/parameters/ApiVersion'
    put:
      tags: [FirewallRules]
      summary: Create or update firewall rule
      operationId: createOrUpdateFirewallRule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericObject'
      responses:
        '200':
          description: OK
        '201':
          description: Created
    delete:
      tags: [FirewallRules]
      summary: Delete firewall rule
      operationId: deleteFirewallRule
      responses:
        '200':
          description: OK
        '204':
          description: No Content
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: '#/components/parameters/ResourceGroupName'
      - $ref: '#/components/parameters/ServerName'
      - $ref: '#/components/parameters/ApiVersion'
    get:
      tags: [FailoverGroups]
      summary: List failover groups
      operationId: listFailoverGroups
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericList'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    SubscriptionId:
      in: path
      name: subscriptionId
      required: true
      schema: { type: string }
    ResourceGroupName:
      in: path
      name: resourceGroupName
      required: true
      schema: { type: string }
    ServerName:
      in: path
      name: serverName
      required: true
      schema: { type: string }
    DatabaseName:
      in: path
      name: databaseName
      required: true
      schema: { type: string }
    ApiVersion:
      in: query
      name: api-version
      required: true
      schema:
        type: string
        default: '2021-11-01'
  schemas:
    GenericObject:
      type: object
      additionalProperties: true
    GenericList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/GenericObject'
      additionalProperties: true