## Enable R2 bucket as a catalog `client.R2DataCatalog.Enable(ctx, bucketName, body) (*R2DataCatalogEnableResponse, error)` **post** `/accounts/{account_id}/r2-catalog/{bucket_name}/enable` Enable an R2 bucket as an Apache Iceberg catalog. This operation creates the necessary catalog infrastructure and activates the bucket for storing Iceberg metadata and data files. ### Parameters - `bucketName string` Specifies the R2 bucket name. - `body R2DataCatalogEnableParams` - `AccountID param.Field[string]` Use this to identify the account. ### Returns - `type R2DataCatalogEnableResponse struct{…}` Contains response from activating an R2 bucket as a catalog. - `ID string` Use this to uniquely identify the activated catalog. - `Name string` Specifies the name of the activated catalog. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/r2_data_catalog" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.R2DataCatalog.Enable( context.TODO(), "my-data-bucket", r2_data_catalog.R2DataCatalogEnableParams{ AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "account123_my-bucket" }, "success": true } ```