Backblaze
Backblaze is a cloud storage and data backup provider offering B2 Cloud Storage - a low-cost, S3-compatible object storage service. Backblaze provides both a native B2 API and an S3-compatible API, enabling developers to build applications that store unlimited data at a fraction of major cloud provider costs. Features include file versioning, lifecycle rules, event notifications, object lock, cross-region replication, and a Cloudflare bandwidth alliance for zero-egress CDN delivery.
2 APIs
11 Features
Cloud StorageObject StorageStorageBackup
Authorize the account, then create a new private bucket using the returned account context.
ARAZZO
Authorize, list buckets, list the file names in a bucket, then fetch full info for the first file.
ARAZZO
Authorize, list unfinished large files in a bucket, then cancel the first stalled upload found.
ARAZZO
Authorize, set a webhook notification rule on a bucket, then read the rules back to confirm.
ARAZZO
Authorize, locate a source file by listing, then server-side copy it into a destination bucket.
ARAZZO
Authorize, create a capability-scoped application key, then confirm it appears in the key list.
ARAZZO
Authorize, start a large file, get a part upload URL, then finish the large file from its parts.
ARAZZO
Authorize, create a bucket, get its upload URL, and upload the first file end to end.
ARAZZO
Authorize, list a file's versions by prefix, then delete the most recent version found.
ARAZZO
Authorize, create a replacement application key, then delete the old key it supersedes.
ARAZZO
Authorize, mint a prefix-scoped download authorization token, then download a private file by name.
ARAZZO
Authorize, list a bucket's file names, delete the first file version, then delete the empty bucket.
ARAZZO
Authorize, request a bucket upload URL, then upload a single file to that bucket.
ARAZZO
Object Storage
Store and retrieve any amount of data with a simple flat namespace and unique file IDs.
S3-Compatible API
Use existing S3 tools and libraries without modification via the S3-compatible API endpoint.
Large File Multi-Part Upload
Upload files larger than 5GB using the multi-part upload API (b2_start_large_file / b2_upload_part / b2_finish_large_file).
Application Key Management
Create and manage scoped application keys with per-bucket and per-prefix restrictions.
Lifecycle Rules
Automatically delete or hide files after a specified number of days using lifecycle rules.
File Versioning
Keep multiple versions of files; older versions are preserved and accessible by file ID.
Event Notifications
Configure webhook-based event notifications when objects are created, modified, or deleted.
Object Lock
Protect files from deletion or modification for a specified retention period using object lock.
Cross-Region Replication
Replicate buckets to other regions or accounts for disaster recovery and data locality.
Server-Side Encryption
Encrypt data at rest using Backblaze-managed or customer-managed keys.
Cloudflare Bandwidth Alliance
Zero egress fees when serving B2 data through Cloudflare CDN.
info:
_postman_id: 74efa490-5678-4522-aff1-78b2173794c8
name: 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.\n\
\nContact Support:\n Name: Backblaze Developer Support"
schema: https://schema.getpostman.com/json/collection/v2.1.0/collection.json
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
lastUpdatedBy: '35240'
uid: 35240-74efa490-5678-4522-aff1-78b2173794c8
item:
- name: b2api
item:
- name: v4
item:
- name: b2_authorize_account
item:
- name: Backblaze B2 Native API Authorize Account
id: 1a87d58b-81d0-4af2-b645-6986ea39e02f
protocolProfileBehavior:
disableBodyPruning: true
request:
auth:
type: basic
basic:
- key: username
value: '{{basicAuthUsername}}'
type: string
- key: password
value: '{{basicAuthPassword}}'
type: string
method: GET
header:
- key: Accept
value: application/json
url:
raw: '{{baseUrl}}/b2api/v4/b2_authorize_account'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_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.
response:
- id: a3d5e9f3-d95e-4c10-bfa7-6e1aeeab8467
name: Successful authorization
originalRequest:
method: GET
header:
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: basic'
key: Authorization
value: Basic <credentials>
url:
raw: '{{baseUrl}}/b2api/v4/b2_authorize_account'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_authorize_account
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"accountId\": \"<string>\",\n \"authorizationToken\": \"<string>\",\n \"allowed\": {\n \"capabilities\"\
: [\n \"<string>\",\n \"<string>\"\n ],\n \"bucketId\": \"<string>\",\n \"bucketName\": \"\
<string>\",\n \"namePrefix\": \"<string>\"\n },\n \"apiInfo\": {\n \"storageApi\": {\n \"absoluteMinimumPartSize\"\
: \"<integer>\",\n \"recommendedPartSize\": \"<integer>\",\n \"apiUrl\": \"<string>\",\n \"downloadUrl\"\
: \"<string>\",\n \"s3ApiUrl\": \"<string>\"\n }\n }\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-a3d5e9f3-d95e-4c10-bfa7-6e1aeeab8467
- id: 2e54d5b1-aedb-4189-b6ac-19aba1120306
name: Unauthorized - invalid credentials
originalRequest:
method: GET
header:
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: basic'
key: Authorization
value: Basic <credentials>
url:
raw: '{{baseUrl}}/b2api/v4/b2_authorize_account'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_authorize_account
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-2e54d5b1-aedb-4189-b6ac-19aba1120306
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-1a87d58b-81d0-4af2-b645-6986ea39e02f
id: 9ff078da-12be-4110-9d87-af6d67c450d1
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-9ff078da-12be-4110-9d87-af6d67c450d1
- name: b2_create_bucket
item:
- name: Backblaze B2 Native API Create Bucket
id: fd5dc841-b02f-49b5-a85f-2eeee41f8c95
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n\
\ \"bucketInfo\": {}\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_create_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_create_bucket
description: Creates a new bucket. A bucket must be globally unique across all of Backblaze B2 or the request will
fail.
response:
- id: cfe1b20f-1cb1-476e-b0c5-9233cbd75df8
name: Bucket created successfully
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n\
\ \"bucketInfo\": {}\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_create_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_create_bucket
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\"\
: \"allPrivate\",\n \"bucketInfo\": {},\n \"revision\": \"<integer>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-cfe1b20f-1cb1-476e-b0c5-9233cbd75df8
- id: 9537f53d-b1b1-4064-b5d3-50c7f1313156
name: Bad request - invalid parameters
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n\
\ \"bucketInfo\": {}\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_create_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_create_bucket
status: Bad Request
code: 400
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-9537f53d-b1b1-4064-b5d3-50c7f1313156
- id: 6173d7bc-4e08-416b-bb51-3dfa2ce39b00
name: Unauthorized
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n\
\ \"bucketInfo\": {}\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_create_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_create_bucket
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-6173d7bc-4e08-416b-bb51-3dfa2ce39b00
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-fd5dc841-b02f-49b5-a85f-2eeee41f8c95
id: 53f43939-403f-4f83-855e-4b82b4d50118
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-53f43939-403f-4f83-855e-4b82b4d50118
- name: b2_delete_bucket
item:
- name: Backblaze B2 Native API Delete Bucket
id: a0428821-c060-43d9-8b4e-67e78b264787
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_delete_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_delete_bucket
description: Deletes the bucket specified. Only buckets that contain no version of any files can be deleted.
response:
- id: b86087b0-6a37-4185-a507-5d8706c1b653
name: Bucket deleted successfully
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_delete_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_delete_bucket
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\"\
: \"allPrivate\",\n \"bucketInfo\": {},\n \"revision\": \"<integer>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-b86087b0-6a37-4185-a507-5d8706c1b653
- id: 5f9c2e2e-b470-4c08-a8e9-b3608a34cd2c
name: Bad request
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_delete_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_delete_bucket
status: Bad Request
code: 400
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-5f9c2e2e-b470-4c08-a8e9-b3608a34cd2c
- id: 9ce400e8-f0ec-4059-a8f6-61424adb4aec
name: Unauthorized
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_delete_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_delete_bucket
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-9ce400e8-f0ec-4059-a8f6-61424adb4aec
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-a0428821-c060-43d9-8b4e-67e78b264787
id: 082e9e12-f7a9-413c-a6aa-d3597e95bfaf
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-082e9e12-f7a9-413c-a6aa-d3597e95bfaf
- name: b2_list_buckets
item:
- name: Backblaze B2 Native API List Buckets
id: 4d48d76a-62f9-478a-935c-709b287a6b4f
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"\
bucketTypes\": [\n \"<string>\",\n \"<string>\"\n ]\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_list_buckets'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_list_buckets
description: Lists buckets associated with an account, in alphabetical order by bucket name.
response:
- id: 69d147de-923d-4272-8e19-b57fa7bd7c6c
name: List of buckets
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"\
bucketTypes\": [\n \"<string>\",\n \"<string>\"\n ]\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_list_buckets'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_list_buckets
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"buckets\": [\n {\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \
\ \"bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n \"bucketInfo\": {},\n \"revision\"\
: \"<integer>\"\n },\n {\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"\
bucketName\": \"<string>\",\n \"bucketType\": \"allPrivate\",\n \"bucketInfo\": {},\n \"revision\"\
: \"<integer>\"\n }\n ]\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-69d147de-923d-4272-8e19-b57fa7bd7c6c
- id: f16a1a96-4bfa-4c95-94cb-d513072507c0
name: Unauthorized
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"\
bucketTypes\": [\n \"<string>\",\n \"<string>\"\n ]\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_list_buckets'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_list_buckets
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-f16a1a96-4bfa-4c95-94cb-d513072507c0
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-4d48d76a-62f9-478a-935c-709b287a6b4f
id: bffb5ea9-91a5-4611-91b7-11379181fb40
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-bffb5ea9-91a5-4611-91b7-11379181fb40
- name: b2_update_bucket
item:
- name: Backblaze B2 Native API Update Bucket
id: dedcdb17-fd5e-474b-8f93-15bd807d88ac
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketType\": \"allPublic\",\n \"\
bucketInfo\": {},\n \"ifRevisionIs\": \"<integer>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_update_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_update_bucket
description: Update an existing bucket. Can be used to change the bucket type, bucket info, CORS rules, and lifecycle
rules.
response:
- id: cca8537a-731a-401d-aaa6-bb7782539534
name: Bucket updated successfully
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketType\": \"allPublic\",\n \
\ \"bucketInfo\": {},\n \"ifRevisionIs\": \"<integer>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_update_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_update_bucket
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketName\": \"<string>\",\n \"bucketType\"\
: \"allPrivate\",\n \"bucketInfo\": {},\n \"revision\": \"<integer>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-cca8537a-731a-401d-aaa6-bb7782539534
- id: 43c94a01-1d1e-42da-98f9-7c8552e3c34a
name: Unauthorized
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"accountId\": \"<string>\",\n \"bucketId\": \"<string>\",\n \"bucketType\": \"allPublic\",\n \
\ \"bucketInfo\": {},\n \"ifRevisionIs\": \"<integer>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_update_bucket'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_update_bucket
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-43c94a01-1d1e-42da-98f9-7c8552e3c34a
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-dedcdb17-fd5e-474b-8f93-15bd807d88ac
id: e12e325e-2e76-4b9a-8b5a-1e1710d31bb8
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-e12e325e-2e76-4b9a-8b5a-1e1710d31bb8
- name: b2_get_upload_url
item:
- name: Backblaze B2 Native API Get Upload URL
id: 8ab0133d-2366-4ddd-a171-e3508b73c783
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
body:
mode: raw
raw: "{\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_get_upload_url'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_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.
response:
- id: 299a72ce-7727-4e4e-9e1c-7fa75961c948
name: Upload URL details
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_get_upload_url'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_get_upload_url
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"bucketId\": \"<string>\",\n \"uploadUrl\": \"<string>\",\n \"authorizationToken\": \"<string>\"\n\
}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-299a72ce-7727-4e4e-9e1c-7fa75961c948
- id: f26e238a-679b-4252-9067-249e253a5e2e
name: Unauthorized
originalRequest:
method: POST
header:
- key: Content-Type
value: application/json
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: raw
raw: "{\n \"bucketId\": \"<string>\"\n}"
options:
raw:
headerFamily: json
language: json
url:
raw: '{{baseUrl}}/b2api/v4/b2_get_upload_url'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_get_upload_url
status: Unauthorized
code: 401
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"status\": \"<integer>\",\n \"code\": \"<string>\",\n \"message\": \"<string>\"\n}"
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-f26e238a-679b-4252-9067-249e253a5e2e
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-8ab0133d-2366-4ddd-a171-e3508b73c783
id: 605fd72d-c730-45d6-8b7e-5feee775af17
createdAt: '2026-06-05T15:05:48.000Z'
updatedAt: '2026-06-05T15:05:48.000Z'
uid: 35240-605fd72d-c730-45d6-8b7e-5feee775af17
- name: b2_upload_file
item:
- name: Backblaze B2 Native API Upload File
id: 6028d9b0-7297-4945-8d3c-8afb463cb7ca
protocolProfileBehavior:
disableBodyPruning: true
request:
method: POST
header:
- description: (Required) URL-encoded name of the file
key: X-Bz-File-Name
value: <string>
- description: (Required) Length of the file in bytes
key: Content-Length
value: <integer>
- description: (Required) SHA1 checksum of the file content
key: X-Bz-Content-Sha1
value: <string>
- key: Content-Type
value: application/octet-stream
- key: Accept
value: application/json
body:
mode: file
file: {}
url:
raw: '{{baseUrl}}/b2api/v4/b2_upload_file'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_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.
response:
- id: 6c36ac13-3265-498d-be78-c511d55363a8
name: File uploaded successfully
originalRequest:
method: POST
header:
- description: (Required) URL-encoded name of the file
key: X-Bz-File-Name
value: <string>
- description: (Required) Length of the file in bytes
key: Content-Length
value: <integer>
- description: (Required) SHA1 checksum of the file content
key: X-Bz-Content-Sha1
value: <string>
- key: Content-Type
value: application/octet-stream
- key: Accept
value: application/json
- description: 'Added as a part of security scheme: bearer'
key: Authorization
value: Bearer <token>
body:
mode: file
file: {}
url:
raw: '{{baseUrl}}/b2api/v4/b2_upload_file'
host:
- '{{baseUrl}}'
path:
- b2api
- v4
- b2_upload_file
status: OK
code: 200
_postman_previewlanguage: json
header:
- key: Content-Type
value: application/json
cookie: []
responseTime: null
body: "{\n \"fileId\": \"<string>\",\n \"fileName\": \"<string>\",\n \"accountId\": \"<string>\",\n \"bucketId\"\
# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/backblaze/refs/heads/main/apis.yml