bucket create

Create a new bucket.

Prints the ID of the bucket created. Optionally stores bucket info, CORS rules and lifecycle rules with the bucket. These can be given as JSON on the command line.

If you want server-side encryption for all of the files that are uploaded to a bucket, you can enable SSE-B2 encryption as a default setting for the bucket. In order to do that pass --default-server-side-encryption=SSE-B2. The default algorithm is set to AES256 which can by changed with --default-server-side-encryption-algorithm parameter. All uploads to that bucket, from the time default encryption is enabled onward, will then be encrypted with SSE-B2 by default.

To disable default bucket encryption, use --default-server-side-encryption=none.

If --default-server-side-encryption is not provided, default server side encryption is determined by the server.


Note that existing files in the bucket are not affected by default bucket encryption settings.

Use –lifecycle-rule to set lifecycle rule for the bucket. Multiple rules can be specified by repeating the option.

–lifecycle-rules option is deprecated and cannot be used together with –lifecycle-rule.

Requires capability:

  • writeBuckets

  • readBucketEncryption

  • writeBucketEncryption

  • writeBucketRetentions

b2 bucket create [-h] [--bucket-info BUCKET_INFO] [--cors-rules CORS_RULES]
                 [--file-lock-enabled] [--replication REPLICATION]
                 [--default-server-side-encryption {SSE-B2,none}]
                 [--default-server-side-encryption-algorithm {AES256}]
                 [--lifecycle-rule LIFECYCLE_RULES | --lifecycle-rules LIFECYCLE_RULES]
                 bucketName {allPublic,allPrivate}

Positional Arguments


Target bucket name


Possible choices: allPublic, allPrivate

Named Arguments


If given, the bucket will have a ‘custom’ CORS configuration. Accepts a JSON string.


If given, the bucket will have the file lock mechanism enabled. This parameter cannot be changed after bucket creation.

Default: False


Possible choices: SSE-B2, none


Possible choices: AES256

Default: “AES256”


Lifecycle rule in JSON format. Can be supplied multiple times.


(deprecated; use –lifecycle-rule instead) List of lifecycle rules in JSON format.