Skip to content
Start here

Delete R2 catalog metadata

client.R2DataCatalog.Delete(ctx, bucketName, params) error
POST/accounts/{account_id}/r2-catalog/{bucket_name}/delete

Removes the catalog from the control plane without deleting R2 bucket objects. Set force=true to remove catalog namespaces, tables, views, and maintenance metadata. Force deletion is limited to a configured catalog object count.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers R2 Data Catalog Write
ParametersExpand Collapse
bucketName string

Specifies the R2 bucket name.

maxLength63
minLength3
params R2DataCatalogDeleteParams
AccountID param.Field[string]

Path param: Use this to identify the account.

Force param.Field[bool]Optional

Query param: Remove child metadata before deleting the catalog.

Delete R2 catalog metadata

package main

import (
  "context"

  "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"),
  )
  err := client.R2DataCatalog.Delete(
    context.TODO(),
    "my-data-bucket",
    r2_data_catalog.R2DataCatalogDeleteParams{
      AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
}
Returns Examples