Documentation
Documentation
https://www.backblaze.com/apidocs/introduction-to-the-b2-native-api
GettingStarted
https://www.backblaze.com/docs/cloud-storage-native-api
openapi: 3.0.3
info:
title: Backblaze B2 Native Application Keys Large Files 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: Large Files
description: Multi-part upload for large files
paths:
/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:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetUploadPartUrlRequest'
examples:
GetUploadPartUrlRequestExample:
summary: Default getUploadPartUrl request
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
responses:
'200':
description: Upload part URL
content:
application/json:
schema:
$ref: '#/components/schemas/GetUploadPartUrlResponse'
examples:
GetUploadPartUrl200Example:
summary: Default getUploadPartUrl 200 response
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
uploadUrl: https://pod-000-1005-03.backblaze.com/b2api/v4/b2_upload_part
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_finish_large_file:
post:
operationId: finishLargeFile
summary: Backblaze B2 Native API Finish Large File
description: Converts the parts that have been uploaded into a single B2 file.
tags:
- Large Files
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FinishLargeFileRequest'
examples:
FinishLargeFileRequestExample:
summary: Default finishLargeFile request
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
partSha1Array:
- a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
- b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3
responses:
'200':
description: Large file finished
content:
application/json:
schema:
$ref: '#/components/schemas/FileInfo'
examples:
FinishLargeFile200Example:
summary: Default finishLargeFile 200 response
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
fileName: videos/large-video.mp4
accountId: abc123def456
bucketId: e73ede9969c64355ef8b
contentLength: 2048000000
contentSha1: none
contentType: video/mp4
fileInfo: {}
uploadTimestamp: 1660600000000
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/b2api/v4/b2_cancel_large_file:
post:
operationId: cancelLargeFile
summary: Backblaze B2 Native API Cancel Large File
description: Cancels a large file upload and deletes all of the parts that have been uploaded.
tags:
- Large Files
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CancelLargeFileRequest'
examples:
CancelLargeFileRequestExample:
summary: Default cancelLargeFile request
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
responses:
'200':
description: Large file upload cancelled
content:
application/json:
schema:
$ref: '#/components/schemas/CancelLargeFileResponse'
examples:
CancelLargeFile200Example:
summary: Default cancelLargeFile 200 response
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
accountId: abc123def456
bucketId: e73ede9969c64355ef8b
fileName: videos/large-video.mp4
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/b2api/v4/b2_list_parts:
post:
operationId: listParts
summary: Backblaze B2 Native API List Parts
description: Lists the parts that have been uploaded for a large file, in order of part number.
tags:
- Large Files
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ListPartsRequest'
examples:
ListPartsRequestExample:
summary: Default listParts request
x-microcks-default: true
value:
fileId: 4_za71c4725f4f4a14a14a14a14a
responses:
'200':
description: List of parts
content:
application/json:
schema:
$ref: '#/components/schemas/ListPartsResponse'
examples:
ListParts200Example:
summary: Default listParts 200 response
x-microcks-default: true
value:
parts:
- fileId: 4_za71c4725f4f4a14a14a14a14a
partNumber: 1
contentLength: 100000000
contentSha1: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
uploadTimestamp: 1660500000000
nextPartNumber: null
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/b2api/v4/b2_list_unfinished_large_files:
post:
operationId: listUnfinishedLargeFiles
summary: Backblaze B2 Native API List Unfinished Large Files
description: Lists information about large file uploads that have been started but not finished or cancelled.
tags:
- Large Files
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ListUnfinishedLargeFilesRequest'
examples:
ListUnfinishedLargeFilesRequestExample:
summary: Default listUnfinishedLargeFiles request
x-microcks-default: true
value:
bucketId: e73ede9969c64355ef8b
responses:
'200':
description: List of unfinished large files
content:
application/json:
schema:
$ref: '#/components/schemas/ListUnfinishedLargeFilesResponse'
examples:
ListUnfinishedLargeFiles200Example:
summary: Default listUnfinishedLargeFiles 200 response
x-microcks-default: true
value:
files:
- fileId: 4_za71c4725f4f4a14a14a14a14a
fileName: videos/large-video.mp4
accountId: abc123def456
bucketId: e73ede9969c64355ef8b
contentType: video/mp4
uploadTimestamp: 1660500000000
nextFileId: null
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
ListPartsResponse:
title: ListPartsResponse
type: object
properties:
parts:
type: array
items:
type: object
properties:
fileId:
type: string
partNumber:
type: integer
contentLength:
type: integer
contentSha1:
type: string
uploadTimestamp:
type: integer
nextPartNumber:
type: integer
nullable: true
FinishLargeFileRequest:
title: FinishLargeFileRequest
type: object
required:
- fileId
- partSha1Array
properties:
fileId:
type: string
description: The file ID from b2_start_large_file
example: 4_za71c4725f4f4a14a14a14a14a
partSha1Array:
type: array
items:
type: string
description: SHA1 checksums of each part in order
ListUnfinishedLargeFilesResponse:
title: ListUnfinishedLargeFilesResponse
type: object
properties:
files:
type: array
items:
$ref: '#/components/schemas/FileInfo'
nextFileId:
type: string
nullable: true
ListUnfinishedLargeFilesRequest:
title: ListUnfinishedLargeFilesRequest
type: object
required:
- bucketId
properties:
bucketId:
type: string
example: e73ede9969c64355ef8b
namePrefix:
type: string
startFileId:
type: string
maxFileCount:
type: integer
GetUploadPartUrlRequest:
title: GetUploadPartUrlRequest
type: object
required:
- fileId
properties:
fileId:
type: string
description: The file ID from b2_start_large_file
example: 4_za71c4725f4f4a14a14a14a14a
CancelLargeFileRequest:
title: CancelLargeFileRequest
type: object
required:
- fileId
properties:
fileId:
type: string
example: 4_za71c4725f4f4a14a14a14a14a
StartLargeFileRequest:
title: StartLargeFileRequest
type: object
required:
- bucketId
- fileName
- contentType
properties:
bucketId:
type: string
example: e73ede9969c64355ef8b
fileName:
type: string
example: videos/large-video.mp4
contentType:
type: string
example: video/mp4
fileInfo:
type: object
description: Custom file info
serverSideEncryption:
type: object
description: Server side encryption settings
GetUploadPartUrlResponse:
title: GetUploadPartUrlResponse
type: object
properties:
fileId:
type: string
example: 4_za71c4725f4f4a14a14a14a14a
uploadUrl:
type: string
example: https://pod-000-1005-03.backblaze.com/b2api/v4/b2_upload_part
authorizationToken:
type: string
example: 3_en0Y0j2f-0r0BVLS8vN9GJTWA-pLEP
FileInfo:
title: FileInfo
type: object
description: Information about a stored file
properties:
fileId:
type: string
description: The unique identifier for this version of this file
example: 4_h4a48fe8875c6214145260818
fileName:
type: string
description: The name of the file
example: photos/image.jpg
accountId:
type: string
description: The account that owns the file
example: abc123def456
bucketId:
type: string
description: The bucket that the file is in
example: e73ede9969c64355ef8b
contentLength:
type: integer
description: The size of the file in bytes
example: 102400
contentSha1:
type: string
description: The SHA1 checksum of the bytes in the file
example: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
contentType:
type: string
description: The MIME type of the file
example: image/jpeg
fileInfo:
type: object
description: Custom information about the file
action:
type: string
enum:
- upload
- hide
- start
- copy
description: The action that created this file version
example: upload
uploadTimestamp:
type: integer
description: Milliseconds since midnight, January 1, 1970 UTC
example: 1660000000000
ListPartsRequest:
title: ListPartsRequest
type: object
required:
- fileId
properties:
fileId:
type: string
example: 4_za71c4725f4f4a14a14a14a14a
startPartNumber:
type: integer
description: Start listing from this part number
maxPartCount:
type: integer
description: Maximum number of parts to return
CancelLargeFileResponse:
title: CancelLargeFileResponse
type: object
properties:
fileId:
type: string
example: 4_za71c4725f4f4a14a14a14a14a
accountId:
type: string
example: abc123def456
bucketId:
type: string
example: e73ede9969c64355ef8b
fileName:
type: string
example: videos/large-video.mp4
ErrorResponse:
title: ErrorResponse
type: object
description: Standard B2 error response
properties:
status:
type: integer
description: HTTP status code
example: 401
code:
type: string
description: A single-identifier code that identifies the error
example: unauthorized
message:
type: string
description: A human-readable message describing the error
example: Authorization token not valid
securitySchemes:
ApplicationKeyAuth:
type: http
scheme: bearer
description: Authorization token obtained from b2_authorize_account
BasicAuth:
type: http
scheme: basic
description: HTTP Basic auth using applicationKeyId as username and applicationKey as password