Azure Blob Storage Page Blobs API

Operations specific to page blobs including put page and get page ranges

Documentation

Specifications

SDKs

Other Resources

OpenAPI Specification

microsoft-azure-blob-storage-page-blobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Blob Storage REST Append Blobs Page Blobs API
  description: The Azure Blob Storage REST API provides programmatic access to unstructured data storage in Azure. It supports operations on the Blob service, containers, and blobs, including block blobs, append blobs, and page blobs. Blobs can store any type of text or binary data such as documents, media files, and application installers. Blob Storage is optimized for storing massive amounts of unstructured data accessible via HTTP or HTTPS from anywhere in the world.
  version: '2024-11-04'
  contact:
    name: Microsoft Azure Support
    url: https://azure.microsoft.com/en-us/support/
  termsOfService: https://azure.microsoft.com/en-us/support/legal/
servers:
- url: https://{accountName}.blob.core.windows.net
  description: Azure Blob Storage endpoint
  variables:
    accountName:
      description: The name of the Azure Storage account
      default: mystorageaccount
security:
- sharedKey: []
- bearerAuth: []
- sharedAccessSignature: []
tags:
- name: Page Blobs
  description: Operations specific to page blobs including put page and get page ranges
paths:
  /{container}/{blob}?comp=page:
    put:
      operationId: putPage
      summary: Azure Blob Storage Put page
      description: Writes a range of pages to a page blob. Pages must be aligned to 512-byte boundaries. The update action writes data to the blob, and the clear action deallocates the specified pages.
      tags:
      - Page Blobs
      parameters:
      - $ref: '#/components/parameters/ContainerName'
      - $ref: '#/components/parameters/BlobName'
      - $ref: '#/components/parameters/ApiVersion'
      - name: x-ms-page-write
        in: header
        required: true
        description: The page write operation type.
        schema:
          type: string
          enum:
          - update
          - clear
      - name: x-ms-range
        in: header
        required: true
        description: The byte range for the page write operation. Must be aligned to 512-byte boundaries. Format is bytes=startByte-endByte.
        schema:
          type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: Page written successfully
  /{container}/{blob}?comp=pagelist:
    get:
      operationId: getPageRanges
      summary: Azure Blob Storage Get page ranges
      description: Returns a list of valid page ranges for a page blob or a snapshot of a page blob.
      tags:
      - Page Blobs
      parameters:
      - $ref: '#/components/parameters/ContainerName'
      - $ref: '#/components/parameters/BlobName'
      - $ref: '#/components/parameters/ApiVersion'
      - name: x-ms-range
        in: header
        description: Return only page ranges within the specified byte range.
        schema:
          type: string
      responses:
        '200':
          description: Page ranges returned
  /{container}/{blob}?comp=pagelist&diff:
    get:
      operationId: getPageRangesDiff
      summary: Azure Blob Storage Get page ranges diff
      description: Returns the list of page ranges that differ between a previous snapshot and the current blob or between two snapshots. Useful for incremental backup scenarios.
      tags:
      - Page Blobs
      parameters:
      - $ref: '#/components/parameters/ContainerName'
      - $ref: '#/components/parameters/BlobName'
      - $ref: '#/components/parameters/ApiVersion'
      - name: prevsnapshot
        in: query
        required: true
        description: The snapshot identifier for the previous snapshot.
        schema:
          type: string
      responses:
        '200':
          description: Differential page ranges returned
  /{container}/{blob}?comp=incrementalcopy:
    put:
      operationId: incrementalCopyBlob
      summary: Azure Blob Storage Incremental copy blob
      description: Copies a snapshot of a source page blob to a destination page blob. Only the differential changes between the previously copied snapshot and the new snapshot are transferred to the destination.
      tags:
      - Page Blobs
      parameters:
      - $ref: '#/components/parameters/ContainerName'
      - $ref: '#/components/parameters/BlobName'
      - $ref: '#/components/parameters/ApiVersion'
      - name: x-ms-copy-source
        in: header
        required: true
        description: URL of the source page blob snapshot.
        schema:
          type: string
          format: uri
      responses:
        '202':
          description: Incremental copy operation initiated
components:
  parameters:
    ContainerName:
      name: container
      in: path
      required: true
      description: The container name. Must be a valid DNS name, 3 to 63 characters, starting with a letter or number, and containing only lowercase letters, numbers, and hyphens.
      schema:
        type: string
        pattern: ^[a-z0-9](?!.*--)[a-z0-9-]{1,61}[a-z0-9]$
    BlobName:
      name: blob
      in: path
      required: true
      description: The blob name. Can contain any combination of characters and may include path separators (/) for organizing blobs in a virtual directory hierarchy.
      schema:
        type: string
    ApiVersion:
      name: x-ms-version
      in: header
      required: true
      description: Specifies the version of the Azure Storage REST API to use for the request.
      schema:
        type: string
        default: '2024-11-04'
  securitySchemes:
    sharedKey:
      type: apiKey
      in: header
      name: Authorization
      description: Azure Storage shared key authorization using the storage account access key.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Microsoft Entra ID OAuth 2.0 bearer token for accessing blob resources.
    sharedAccessSignature:
      type: apiKey
      in: query
      name: sig
      description: Shared access signature (SAS) token granting delegated access to blob resources.
externalDocs:
  description: Azure Blob Storage REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api