Azure Backup REST API

Azure Backup REST API enables programmatic management of backup policies, protected items, recovery points, and restore operations. It supports backing up VMs, SQL databases, file shares, and SAP HANA workloads through Recovery Services vaults.

OpenAPI Specification

microsoft-azure-backup-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Backup REST API
  description: Azure Backup provides backup and disaster recovery for Azure and on-premises workloads.
    The REST API manages Recovery Services vaults, backup policies, protected items, and restore operations.
  version: '2024-01-01'
externalDocs:
  description: Azure Backup REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/backup/
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
tags:
- name: Vaults
  description: Vaults operations
- name: Backup Policies
  description: Backup Policies operations
- name: Protected Items
  description: Protected Items operations
- name: Recovery Points
  description: Recovery Points operations
- name: Operations
  description: Operations operations
security:
- azure_auth:
  - user_impersonation
paths:
  /providers/Microsoft.RecoveryServices/operations:
    get:
      operationId: listOperations
      summary: Azure Backup REST API List operations
      description: Lists all available REST API operations for Microsoft.RecoveryServices.
      tags:
      - Operations
      parameters:
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Operations list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults:
    get:
      operationId: listVaultsBySubscription
      summary: Azure Backup REST API List by subscription
      description: Lists all vaults resources within the specified subscription.
      tags:
      - Vaults
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults:
    get:
      operationId: listVaultsByResourceGroup
      summary: Azure Backup REST API List by resource group
      description: Lists all vaults resources within the specified resource group.
      tags:
      - Vaults
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/resourceGroupName'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{name}:
    parameters:
    - $ref: '#/components/parameters/subscriptionId'
    - $ref: '#/components/parameters/resourceGroupName'
    - name: name
      in: path
      required: true
      description: Name of the resource.
      schema:
        type: string
    - $ref: '#/components/parameters/apiVersion'
    get:
      operationId: getVaults
      summary: Azure Backup REST API Get resource
      description: Gets a specific vaults resource.
      tags:
      - Vaults
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Not found
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: createOrUpdateVaults
      summary: Azure Backup REST API Create or update resource
      description: Creates or updates a vaults resource.
      tags:
      - Vaults
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updateVaults
      summary: Azure Backup REST API Update resource
      description: Updates a vaults resource.
      tags:
      - Vaults
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteVaults
      summary: Azure Backup REST API Delete resource
      description: Deletes a vaults resource.
      tags:
      - Vaults
      responses:
        '200':
          description: Resource deleted
        '202':
          description: Deletion accepted
        '204':
          description: Resource not found or already deleted
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    subscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: The ID of the target subscription.
      schema:
        type: string
    resourceGroupName:
      name: resourceGroupName
      in: path
      required: true
      description: The name of the resource group.
      schema:
        type: string
    apiVersion:
      name: api-version
      in: query
      required: true
      description: The API version to use for this operation.
      schema:
        type: string
  schemas:
    Resource:
      type: object
      properties:
        id:
          type: string
          description: Resource ID.
        name:
          type: string
          description: Resource name.
        type:
          type: string
          description: Resource type.
        location:
          type: string
          description: Resource location.
        tags:
          type: object
          additionalProperties:
            type: string
        properties:
          type: object
          description: Resource-specific properties.
    ResourceList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        nextLink:
          type: string
          description: URL to the next page of results.
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            target:
              type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        display:
          type: object
          properties:
            provider:
              type: string
            resource:
              type: string
            operation:
              type: string
            description:
              type: string
        isDataAction:
          type: boolean
    OperationList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextLink:
          type: string
  securitySchemes:
    azure_auth:
      type: oauth2
      description: Azure Active Directory OAuth2 Flow.
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes:
            user_impersonation: Impersonate your user account
x-generated-from: https://learn.microsoft.com/en-us/rest/api/backup/
x-generated-by: claude-crawl-2026-05-08