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