- Print
- DarkLight
b2_create_bucket
- Print
- DarkLight
Creates a new bucket
A bucket belongs to the account used to create it.
Buckets can be named. The name must be globally unique. No account can use a bucket with the same name. Buckets are assigned a unique bucketId which is used when uploading, downloading, or deleting files. There is a limit of 100 buckets per account. Contact our Sales team if you need more than 100 buckets.
PLEASE NOTE:
This API endpoint can be called using a GET
request by converting the parameters in the request body to query parameters.
An account authorization token, obtained from b2_authorize_account.
The token must have the writeBuckets
capability.
Your account ID.
The name to give the new bucket.
Bucket names must be a minimum of 6 and a maximum of 63 characters long, and must be globally unique, two different B2 accounts cannot have buckets with the same name. Bucket names can consist of letters, digits, and "-". Bucket names cannot start with "b2-", these are reserved for internal Backblaze use.
Either "allPublic", meaning that files in this bucket can be downloaded by anybody, or "allPrivate", meaning that you need a bucket authorization token to download the files.
User-defined information to be stored with the bucket as a JSON object mapping names to values. See Buckets. Cache-Control
policies can be set here on a global level for all the files in the bucket.
The initial list (a JSON array) of CORS rules for this bucket. See CORS Rules for an overview and the rule structure.
If present, the boolean value specifies whether bucket is Object Lock-enabled. The default value is false
. Setting the value to true
requires the writeBucketRetentions
capability.
The initial list (a JSON array) of lifecycle rules for this bucket. Structure defined below. See Lifecycle Rules.
The configuration to create a Replication Rule. See Cloud Replication Rules. At least one of the asReplicationSource
or asReplicationDestination
parameters is required, but they can also both be present.
The default server-side encryption settings for this bucket. See Server-Side Encryption for an overview and the parameter structure.
Setting the value requires the writeBucketEncryption
application key capability.
The request succeeded.
The account that the bucket is in.
The unique ID of the bucket.
The unique name of the bucket.
One of: allPublic
, allPrivate
, restricted
, snapshot
, shared
, or other values added in the future. allPublic
means that anybody can download the files is the bucket; allPrivate
means that you need an authorization token to download them; snapshot
means that it's a private bucket containing snapshots created in the Backblaze web UI.
The user data stored with this bucket.
The initial list (a JSON array) of CORS rules for this bucket. See CORS Rules for an overview and the rule structure.
The Object Lock configuration for this bucket. This field is filtered based on application key capabilities; readBucketRetentions
capability is required to access the value. See Object Lock for more details on response structure.
The default bucket Server-Side Encryption settings for new files uploaded to this bucket. This field is filtered based on application key capabilities; readBucketEncryption
capability is required to access the value. See Server-Side Encryption for more details on response structure.
The initial list (a JSON array) of lifecycle rules for this bucket. See Lifecycle Rules for an overview and the rule structure.
The list of replication rules for this bucket. See Cloud Replication Rules for an overview and the rule structure.
A counter that is updated every time the bucket is modified, and can be used with the ifRevisionIs
parameter to b2_update_bucket to prevent colliding, simultaneous updates.
When present and set to s3
, the bucket can be accessed through the S3 Compatible API.
status | code | description |
---|---|---|
400 | bad_bucket_id | The requested bucket ID does not match an existing bucket. |
400 | bad_request | The request had the wrong fields or illegal values. The message returned with the error will describe the problem. |
400 | too_many_buckets | The account is already at the maximum bucket count. |
400 | duplicate_bucket_name | Bucket name is already in use. |
The numeric HTTP status code. Always matches the status in the HTTP response.
A single-identifier code that identifies the error.
A human-readable message, in English, saying what went wrong.
status | code | description |
---|---|---|
401 | bad_auth_token | The auth token used is not valid. Call b2_authorize_account again to either get a new one, or an error message describing the problem. |
401 | expired_auth_token | The auth token used has expired. Call b2_authorize_account again to get a new one. |
401 | unauthorized | The auth token used is valid, but does not authorize this call with these parameters. The capabilities of an auth token are determined by the application key used with b2_authorize_account. |
status | code | description |
---|---|---|
403 | transaction_cap_exceeded | Transaction cap exceeded. To increase your cap, sign in to your B2 Cloud Storage account online. Then select the Caps & Alerts link in the B2 Cloud Storage section of the sidebar. |
status | code | description |
---|---|---|
503 | service_unavailable | The service is currently unavailable. Please retry with exponential backoff if needed. |