Backblaze B2 Cloud Storage API

The Backblaze B2 Native API provides programmatic access to all B2 Cloud Storage functions including account authorization, bucket management, file upload and download, large file multi-part uploads, application key management, lifecycle rules, replication, and event notifications. Uses HTTP Basic authentication to obtain authorization tokens for subsequent API calls. API v4 is the current stable version.

Documentation

Specifications

Other Resources

🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-authorize-and-provision-bucket-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-browse-bucket-files-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-cleanup-unfinished-large-files-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-configure-bucket-notifications-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-copy-file-into-bucket-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-create-application-key-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-large-file-upload-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-provision-bucket-and-upload-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-purge-file-versions-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-rotate-application-key-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-share-private-files-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-teardown-bucket-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/arazzo/backblaze-upload-file-workflow.yml

OpenAPI Specification

backblaze-b2-native-api.yaml Raw ↑
openapi: 3.0.3
info:
  title: Backblaze B2 Native API
  description: >-
    The Backblaze B2 Native API provides programmatic access to Backblaze B2 Cloud Storage.
    It covers account authorization, bucket management, file upload and download, lifecycle
    rules, application key management, large file handling, replication, and event notifications.
    The API uses HTTPS with JSON request and response bodies. Authentication is performed via
    the b2_authorize_account endpoint which returns an authorization token used for subsequent calls.
  version: v4
  x-generated-from: documentation
  contact:
    name: Backblaze Developer Support
    url: https://www.backblaze.com/docs
  license:
    name: Proprietary
    url: https://www.backblaze.com/company/terms-of-service
servers:
  - url: https://api.backblazeb2.com
    description: Backblaze B2 API (cluster-specific URL returned by b2_authorize_account)
security:
  - ApplicationKeyAuth: []
tags:
  - name: Authorization
    description: Account authorization and token management
  - name: Buckets
    description: Bucket creation, management, and configuration
  - name: Files
    description: File upload, download, listing, deletion, and metadata
  - name: Large Files
    description: Multi-part upload for large files
  - name: Application Keys
    description: Create and manage application keys for access control
  - name: Lifecycle Rules
    description: Manage lifecycle rules for automatic file management
  - name: Replication
    description: Cross-region and cross-account replication management
  - name: Notifications
    description: Bucket event notification configuration
paths:
  /b2api/v4/b2_authorize_account:
    get:
      operationId: authorizeAccount
      summary: Backblaze B2 Native API Authorize Account
      description: >-
        Used to log in to the B2 API. Returns an authorization token that can be used
        for account-level operations. The authorization token is valid for at most 24 hours.
        This endpoint uses HTTP Basic authentication with the application key ID as the
        username and the application key as the password.
      tags:
        - Authorization
      security:
        - BasicAuth: []
      responses:
        '200':
          description: Successful authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeAccountResponse'
              examples:
                AuthorizeAccount200Example:
                  summary: Default authorizeAccount 200 response
                  x-microcks-default: true
                  value:
                    accountId: abc123def456
                    authorizationToken: 4_002acd2a08df7f8c0c4d21e9deef28c7
                    allowed:
                      capabilities:
                        - listKeys
                        - writeKeys
                        - deleteKeys
                        - listBuckets
                        - readBuckets
                        - writeBuckets
                        - deleteBuckets
                        - listFiles
                        - readFiles
                        - shareFiles
                        - writeFiles
                        - deleteFiles
                      bucketId: null
                      bucketName: null
                      namePrefix: null
                    apiInfo:
                      storageApi:
                        absoluteMinimumPartSize: 5000000
                        recommendedPartSize: 100000000
                        apiUrl: https://api005.backblazeb2.com
                        downloadUrl: https://f005.backblazeb2.com
                        s3ApiUrl: https://s3.us-west-004.backblazeb2.com
        '401':
          description: Unauthorized - invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_create_bucket:
    post:
      operationId: createBucket
      summary: Backblaze B2 Native API Create Bucket
      description: Creates a new bucket. A bucket must be globally unique across all of Backblaze B2 or the request will fail.
      tags:
        - Buckets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBucketRequest'
            examples:
              CreateBucketRequestExample:
                summary: Default createBucket request
                x-microcks-default: true
                value:
                  accountId: abc123def456
                  bucketName: my-media-bucket
                  bucketType: allPrivate
      responses:
        '200':
          description: Bucket created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bucket'
              examples:
                CreateBucket200Example:
                  summary: Default createBucket 200 response
                  x-microcks-default: true
                  value:
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    bucketName: my-media-bucket
                    bucketType: allPrivate
                    bucketInfo: {}
                    corsRules: []
                    lifecycleRules: []
                    revision: 1
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_delete_bucket:
    post:
      operationId: deleteBucket
      summary: Backblaze B2 Native API Delete Bucket
      description: Deletes the bucket specified. Only buckets that contain no version of any files can be deleted.
      tags:
        - Buckets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteBucketRequest'
            examples:
              DeleteBucketRequestExample:
                summary: Default deleteBucket request
                x-microcks-default: true
                value:
                  accountId: abc123def456
                  bucketId: e73ede9969c64355ef8b
      responses:
        '200':
          description: Bucket deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bucket'
              examples:
                DeleteBucket200Example:
                  summary: Default deleteBucket 200 response
                  x-microcks-default: true
                  value:
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    bucketName: my-media-bucket
                    bucketType: allPrivate
                    bucketInfo: {}
                    corsRules: []
                    lifecycleRules: []
                    revision: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_list_buckets:
    post:
      operationId: listBuckets
      summary: Backblaze B2 Native API List Buckets
      description: Lists buckets associated with an account, in alphabetical order by bucket name.
      tags:
        - Buckets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListBucketsRequest'
            examples:
              ListBucketsRequestExample:
                summary: Default listBuckets request
                x-microcks-default: true
                value:
                  accountId: abc123def456
      responses:
        '200':
          description: List of buckets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBucketsResponse'
              examples:
                ListBuckets200Example:
                  summary: Default listBuckets 200 response
                  x-microcks-default: true
                  value:
                    buckets:
                      - accountId: abc123def456
                        bucketId: e73ede9969c64355ef8b
                        bucketName: my-media-bucket
                        bucketType: allPrivate
                        bucketInfo: {}
                        corsRules: []
                        lifecycleRules: []
                        revision: 1
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_update_bucket:
    post:
      operationId: updateBucket
      summary: Backblaze B2 Native API Update Bucket
      description: Update an existing bucket. Can be used to change the bucket type, bucket info, CORS rules, and lifecycle rules.
      tags:
        - Buckets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBucketRequest'
            examples:
              UpdateBucketRequestExample:
                summary: Default updateBucket request
                x-microcks-default: true
                value:
                  accountId: abc123def456
                  bucketId: e73ede9969c64355ef8b
                  bucketType: allPublic
      responses:
        '200':
          description: Bucket updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bucket'
              examples:
                UpdateBucket200Example:
                  summary: Default updateBucket 200 response
                  x-microcks-default: true
                  value:
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    bucketName: my-media-bucket
                    bucketType: allPublic
                    bucketInfo: {}
                    corsRules: []
                    lifecycleRules: []
                    revision: 2
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_get_upload_url:
    post:
      operationId: getUploadUrl
      summary: Backblaze B2 Native API Get Upload URL
      description: Gets a URL for uploading a single file to a bucket. The URL returned is specific to the bucket and can only be used to upload to that bucket.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetUploadUrlRequest'
            examples:
              GetUploadUrlRequestExample:
                summary: Default getUploadUrl request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
      responses:
        '200':
          description: Upload URL details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUploadUrlResponse'
              examples:
                GetUploadUrl200Example:
                  summary: Default getUploadUrl 200 response
                  x-microcks-default: true
                  value:
                    bucketId: e73ede9969c64355ef8b
                    uploadUrl: https://pod-000-1005-03.backblaze.com/b2api/v4/b2_upload_file
                    authorizationToken: 3_en0Y0j2f-0r0BVLS8vN9GJTWA-pLEP
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_upload_file:
    post:
      operationId: uploadFile
      summary: Backblaze B2 Native API Upload File
      description: Uploads one file to B2, returning its unique file ID. The file data is the request body. Before calling this function, b2_get_upload_url must be called to get the URL and authorization token.
      tags:
        - Files
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
          description: Upload authorization token from b2_get_upload_url
          example: 3_en0Y0j2f-0r0BVLS8vN9GJTWA-pLEP
        - name: X-Bz-File-Name
          in: header
          required: true
          schema:
            type: string
          description: URL-encoded name of the file
          example: photos%2Fimage.jpg
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
          description: MIME type of the file
          example: image/jpeg
        - name: Content-Length
          in: header
          required: true
          schema:
            type: integer
          description: Length of the file in bytes
          example: 102400
        - name: X-Bz-Content-Sha1
          in: header
          required: true
          schema:
            type: string
          description: SHA1 checksum of the file content
          example: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: File uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInfo'
              examples:
                UploadFile200Example:
                  summary: Default uploadFile 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_h4a48fe8875c6214145260818
                    fileName: photos/image.jpg
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    contentLength: 102400
                    contentSha1: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
                    contentType: image/jpeg
                    fileInfo: {}
                    uploadTimestamp: 1660000000000
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_download_file_by_id:
    get:
      operationId: downloadFileById
      summary: Backblaze B2 Native API Download File by ID
      description: Downloads one file by its file ID. Can be used to download a specific version of a file.
      tags:
        - Files
      parameters:
        - name: fileId
          in: query
          required: true
          schema:
            type: string
          description: The unique file ID to download
          example: 4_h4a48fe8875c6214145260818
      responses:
        '200':
          description: File content
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_download_file_by_name/{bucketName}/{fileName}:
    get:
      operationId: downloadFileByName
      summary: Backblaze B2 Native API Download File by Name
      description: Downloads one file from a public or private bucket by name.
      tags:
        - Files
      parameters:
        - name: bucketName
          in: path
          required: true
          schema:
            type: string
          description: Name of the bucket containing the file
          example: my-media-bucket
        - name: fileName
          in: path
          required: true
          schema:
            type: string
          description: Full name of the file including any prefix
          example: photos/image.jpg
      responses:
        '200':
          description: File content
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_get_file_info:
    post:
      operationId: getFileInfo
      summary: Backblaze B2 Native API Get File Info
      description: Gets information about one file stored in B2.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFileInfoRequest'
            examples:
              GetFileInfoRequestExample:
                summary: Default getFileInfo request
                x-microcks-default: true
                value:
                  fileId: 4_h4a48fe8875c6214145260818
      responses:
        '200':
          description: File information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInfo'
              examples:
                GetFileInfo200Example:
                  summary: Default getFileInfo 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_h4a48fe8875c6214145260818
                    fileName: photos/image.jpg
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    contentLength: 102400
                    contentSha1: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
                    contentType: image/jpeg
                    fileInfo: {}
                    uploadTimestamp: 1660000000000
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_delete_file_version:
    post:
      operationId: deleteFileVersion
      summary: Backblaze B2 Native API Delete File Version
      description: Deletes one version of a file from B2. If the version you delete is the latest version, and there are older versions, then the most recent older version will become the current version of the file.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteFileVersionRequest'
            examples:
              DeleteFileVersionRequestExample:
                summary: Default deleteFileVersion request
                x-microcks-default: true
                value:
                  fileName: photos/image.jpg
                  fileId: 4_h4a48fe8875c6214145260818
      responses:
        '200':
          description: File version deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteFileVersionResponse'
              examples:
                DeleteFileVersion200Example:
                  summary: Default deleteFileVersion 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_h4a48fe8875c6214145260818
                    fileName: photos/image.jpg
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_list_file_names:
    post:
      operationId: listFileNames
      summary: Backblaze B2 Native API List File Names
      description: Lists the names of all files in a bucket, starting at a given name. Returns at most 1000 file names, but it can be set to return fewer.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListFileNamesRequest'
            examples:
              ListFileNamesRequestExample:
                summary: Default listFileNames request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
                  maxFileCount: 100
      responses:
        '200':
          description: List of file names
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFileNamesResponse'
              examples:
                ListFileNames200Example:
                  summary: Default listFileNames 200 response
                  x-microcks-default: true
                  value:
                    files:
                      - fileId: 4_h4a48fe8875c6214145260818
                        fileName: photos/image.jpg
                        contentLength: 102400
                        contentType: image/jpeg
                        uploadTimestamp: 1660000000000
                    nextFileName: null
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_list_file_versions:
    post:
      operationId: listFileVersions
      summary: Backblaze B2 Native API List File Versions
      description: Lists all of the versions of all of the files contained in one bucket, in alphabetical order by file name, and by reverse of date/time uploaded for versions of files with the same name.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListFileVersionsRequest'
            examples:
              ListFileVersionsRequestExample:
                summary: Default listFileVersions request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
      responses:
        '200':
          description: List of file versions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFileVersionsResponse'
              examples:
                ListFileVersions200Example:
                  summary: Default listFileVersions 200 response
                  x-microcks-default: true
                  value:
                    files:
                      - fileId: 4_h4a48fe8875c6214145260818
                        fileName: photos/image.jpg
                        action: upload
                        contentLength: 102400
                        contentType: image/jpeg
                        uploadTimestamp: 1660000000000
                    nextFileName: null
                    nextFileId: null
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_copy_file:
    post:
      operationId: copyFile
      summary: Backblaze B2 Native API Copy File
      description: Creates a new file by copying from an existing file. It copies the source file's contents and optionally overrides some of the source file's metadata.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyFileRequest'
            examples:
              CopyFileRequestExample:
                summary: Default copyFile request
                x-microcks-default: true
                value:
                  sourceFileId: 4_h4a48fe8875c6214145260818
                  fileName: photos/image-copy.jpg
      responses:
        '200':
          description: File copied successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInfo'
              examples:
                CopyFile200Example:
                  summary: Default copyFile 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_z71c4725f4f4a14a14a14a14a
                    fileName: photos/image-copy.jpg
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    contentLength: 102400
                    contentSha1: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
                    contentType: image/jpeg
                    fileInfo: {}
                    uploadTimestamp: 1660500000000
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_hide_file:
    post:
      operationId: hideFile
      summary: Backblaze B2 Native API Hide File
      description: Hides a file so that downloading by name will not find the file, but previous versions of the file are still stored. Can be used to effectively delete a file if versioning is enabled.
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HideFileRequest'
            examples:
              HideFileRequestExample:
                summary: Default hideFile request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
                  fileName: photos/image.jpg
      responses:
        '200':
          description: File hidden successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInfo'
              examples:
                HideFile200Example:
                  summary: Default hideFile 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_h4a48fe8875c6214145260818
                    fileName: photos/image.jpg
                    action: hide
                    contentLength: 0
                    uploadTimestamp: 1660500000000
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_get_download_authorization:
    post:
      operationId: getDownloadAuthorization
      summary: Backblaze B2 Native API Get Download Authorization
      description: Used to generate an authorization token that can be used to download files with the specified prefix from a private bucket.
      tags:
        - Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetDownloadAuthorizationRequest'
            examples:
              GetDownloadAuthorizationRequestExample:
                summary: Default getDownloadAuthorization request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
                  fileNamePrefix: photos/
                  validDurationInSeconds: 3600
      responses:
        '200':
          description: Download authorization token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDownloadAuthorizationResponse'
              examples:
                GetDownloadAuthorization200Example:
                  summary: Default getDownloadAuthorization 200 response
                  x-microcks-default: true
                  value:
                    bucketId: e73ede9969c64355ef8b
                    fileNamePrefix: photos/
                    authorizationToken: 3_en0Y0j2f-0r0BVLS8vN9GJTWA-pLEP
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_start_large_file:
    post:
      operationId: startLargeFile
      summary: Backblaze B2 Native API Start Large File
      description: Prepares for uploading the parts of a large file. Files over 100MB must be uploaded in parts. Returns a fileId that is used when uploading parts of this file, finishing this file, and canceling this file.
      tags:
        - Large Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartLargeFileRequest'
            examples:
              StartLargeFileRequestExample:
                summary: Default startLargeFile request
                x-microcks-default: true
                value:
                  bucketId: e73ede9969c64355ef8b
                  fileName: videos/large-video.mp4
                  contentType: video/mp4
      responses:
        '200':
          description: Large file started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInfo'
              examples:
                StartLargeFile200Example:
                  summary: Default startLargeFile 200 response
                  x-microcks-default: true
                  value:
                    fileId: 4_za71c4725f4f4a14a14a14a14a
                    fileName: videos/large-video.mp4
                    accountId: abc123def456
                    bucketId: e73ede9969c64355ef8b
                    contentType: video/mp4
                    fileInfo: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b2api/v4/b2_get_upload_part_url:
    post:
      operationId: getUploadPartUrl
      summary: Backblaze B2 Native API Get Upload Part URL
      description: Gets an URL to use for uploading parts of a large file.
      tags:
        - Large Files
      requestBody:
        

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/openapi/backblaze-b2-native-api.yaml