## Create Bucket `client.R2.Buckets.New(ctx, params) (*Bucket, error)` **post** `/accounts/{account_id}/r2/buckets` Creates a new R2 bucket. ### Parameters - `params BucketNewParams` - `AccountID param.Field[string]` Path param: Account ID. - `Name param.Field[string]` Body param: Name of the bucket. - `LocationHint param.Field[BucketNewParamsLocationHint]` Body param: Location of the bucket. - `const BucketNewParamsLocationHintApac BucketNewParamsLocationHint = "apac"` - `const BucketNewParamsLocationHintEeur BucketNewParamsLocationHint = "eeur"` - `const BucketNewParamsLocationHintEnam BucketNewParamsLocationHint = "enam"` - `const BucketNewParamsLocationHintWeur BucketNewParamsLocationHint = "weur"` - `const BucketNewParamsLocationHintWnam BucketNewParamsLocationHint = "wnam"` - `const BucketNewParamsLocationHintOc BucketNewParamsLocationHint = "oc"` - `StorageClass param.Field[BucketNewParamsStorageClass]` Body param: Storage class for newly uploaded objects, unless specified otherwise. - `const BucketNewParamsStorageClassStandard BucketNewParamsStorageClass = "Standard"` - `const BucketNewParamsStorageClassInfrequentAccess BucketNewParamsStorageClass = "InfrequentAccess"` - `Jurisdiction param.Field[BucketNewParamsCfR2Jurisdiction]` Header param: Jurisdiction where objects in this bucket are guaranteed to be stored. - `const BucketNewParamsCfR2JurisdictionDefault BucketNewParamsCfR2Jurisdiction = "default"` - `const BucketNewParamsCfR2JurisdictionEu BucketNewParamsCfR2Jurisdiction = "eu"` - `const BucketNewParamsCfR2JurisdictionFedramp BucketNewParamsCfR2Jurisdiction = "fedramp"` ### Returns - `type Bucket struct{…}` A single R2 bucket. - `CreationDate string` Creation timestamp. - `Jurisdiction BucketJurisdiction` Jurisdiction where objects in this bucket are guaranteed to be stored. - `const BucketJurisdictionDefault BucketJurisdiction = "default"` - `const BucketJurisdictionEu BucketJurisdiction = "eu"` - `const BucketJurisdictionFedramp BucketJurisdiction = "fedramp"` - `Location BucketLocation` Location of the bucket. - `const BucketLocationApac BucketLocation = "apac"` - `const BucketLocationEeur BucketLocation = "eeur"` - `const BucketLocationEnam BucketLocation = "enam"` - `const BucketLocationWeur BucketLocation = "weur"` - `const BucketLocationWnam BucketLocation = "wnam"` - `const BucketLocationOc BucketLocation = "oc"` - `Name string` Name of the bucket. - `StorageClass BucketStorageClass` Storage class for newly uploaded objects, unless specified otherwise. - `const BucketStorageClassStandard BucketStorageClass = "Standard"` - `const BucketStorageClassInfrequentAccess BucketStorageClass = "InfrequentAccess"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/r2" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) bucket, err := client.R2.Buckets.New(context.TODO(), r2.BucketNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Name: cloudflare.F("example-bucket"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", bucket.CreationDate) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "creation_date": "creation_date", "jurisdiction": "default", "location": "apac", "name": "example-bucket", "storage_class": "Standard" }, "success": true } ```