Skip to content
Start here

R2 Data Catalog

List R2 catalogs
GET/accounts/{account_id}/r2-catalog
Get R2 catalog details
GET/accounts/{account_id}/r2-catalog/{bucket_name}
Enable R2 bucket as a catalog
POST/accounts/{account_id}/r2-catalog/{bucket_name}/enable
Disable R2 catalog
POST/accounts/{account_id}/r2-catalog/{bucket_name}/disable
ModelsExpand Collapse
R2DataCatalogListResponse { warehouses }

Contains the list of catalogs.

warehouses: array of { id, bucket, name, 3 more }

Lists catalogs in the account.

id: string

Use this to uniquely identify the catalog.

formatuuid
bucket: string

Specifies the associated R2 bucket name.

name: string

Specifies the catalog name (generated from account and bucket name).

status: "active" or "inactive"

Indicates the status of the catalog.

One of the following:
"active"
"inactive"
credential_status: optional "present" or "absent"

Shows the credential configuration status.

One of the following:
"present"
"absent"
maintenance_config: optional { compaction, snapshot_expiration }

Configures maintenance for the catalog.

compaction: optional { state, target_size_mb }

Configures compaction for catalog maintenance.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
R2DataCatalogGetResponse { id, bucket, name, 3 more }

Contains R2 Data Catalog information.

id: string

Use this to uniquely identify the catalog.

formatuuid
bucket: string

Specifies the associated R2 bucket name.

name: string

Specifies the catalog name (generated from account and bucket name).

status: "active" or "inactive"

Indicates the status of the catalog.

One of the following:
"active"
"inactive"
credential_status: optional "present" or "absent"

Shows the credential configuration status.

One of the following:
"present"
"absent"
maintenance_config: optional { compaction, snapshot_expiration }

Configures maintenance for the catalog.

compaction: optional { state, target_size_mb }

Configures compaction for catalog maintenance.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
R2DataCatalogEnableResponse { id, name }

Contains response from activating an R2 bucket as a catalog.

id: string

Use this to uniquely identify the activated catalog.

formatuuid
name: string

Specifies the name of the activated catalog.

R2 Data CatalogMaintenance Configs

Get catalog maintenance configuration
GET/accounts/{account_id}/r2-catalog/{bucket_name}/maintenance-configs
Update catalog maintenance configuration
POST/accounts/{account_id}/r2-catalog/{bucket_name}/maintenance-configs
ModelsExpand Collapse
MaintenanceConfigGetResponse { credential_status, maintenance_config }

Contains maintenance configuration and credential status.

credential_status: "present" or "absent"

Shows the credential configuration status.

One of the following:
"present"
"absent"
maintenance_config: { compaction, snapshot_expiration }

Configures maintenance for the catalog.

compaction: optional { state, target_size_mb }

Configures compaction for catalog maintenance.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
MaintenanceConfigUpdateResponse { compaction, snapshot_expiration }

Configures maintenance for the catalog.

compaction: optional { state, target_size_mb }

Configures compaction for catalog maintenance.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"

R2 Data CatalogCredentials

Store catalog credentials
POST/accounts/{account_id}/r2-catalog/{bucket_name}/credential
ModelsExpand Collapse
CredentialCreateResponse = unknown

R2 Data CatalogNamespaces

List namespaces in catalog
GET/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces
ModelsExpand Collapse
NamespaceListResponse { namespaces, details, namespace_uuids, next_page_token }

Contains the list of namespaces with optional pagination.

namespaces: array of array of string

Lists namespaces in the catalog.

details: optional array of { namespace, namespace_uuid, created_at, updated_at }

Contains detailed metadata for each namespace when return_details is true. Each object includes the namespace, UUID, and timestamps.

namespace: array of string

Specifies the hierarchical namespace parts as an array of strings. For example, [“bronze”, “analytics”] represents the namespace “bronze.analytics”.

namespace_uuid: string

Contains the UUID that persists across renames.

formatuuid
created_at: optional string

Indicates the creation timestamp in ISO 8601 format.

formatdate-time
updated_at: optional string

Shows the last update timestamp in ISO 8601 format. Null if never updated.

formatdate-time
namespace_uuids: optional array of string

Contains UUIDs for each namespace when return_uuids is true. The order corresponds to the namespaces array.

next_page_token: optional string

Use this opaque token to fetch the next page of results. A null or absent value indicates the last page.

R2 Data CatalogNamespacesTables

List tables in namespace
GET/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces/{namespace}/tables
ModelsExpand Collapse
TableListResponse { identifiers, details, next_page_token, table_uuids }

Contains the list of tables with optional pagination.

identifiers: array of { name, namespace }

Lists tables in the namespace.

name: string

Specifies the table name.

namespace: array of string

Specifies the hierarchical namespace parts as an array of strings. For example, [“bronze”, “analytics”] represents the namespace “bronze.analytics”.

details: optional array of { identifier, table_uuid, created_at, 3 more }

Contains detailed metadata for each table when return_details is true. Each object includes identifier, UUID, timestamps, and locations.

identifier: { name, namespace }

Specifies a unique table identifier within a catalog.

name: string

Specifies the table name.

namespace: array of string

Specifies the hierarchical namespace parts as an array of strings. For example, [“bronze”, “analytics”] represents the namespace “bronze.analytics”.

table_uuid: string

Contains the UUID that persists across renames.

formatuuid
created_at: optional string

Indicates the creation timestamp in ISO 8601 format.

formatdate-time
location: optional string

Specifies the base S3 URI for table storage location.

metadata_location: optional string

Contains the S3 URI to table metadata file. Null for staged tables.

updated_at: optional string

Shows the last update timestamp in ISO 8601 format. Null if never updated.

formatdate-time
next_page_token: optional string

Use this opaque token to fetch the next page of results. A null or absent value indicates the last page.

table_uuids: optional array of string

Contains UUIDs for each table when return_uuids is true. The order corresponds to the identifiers array.

R2 Data CatalogNamespacesTablesMaintenance Configs

Get table maintenance configuration
GET/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces/{namespace}/tables/{table_name}/maintenance-configs
Update table maintenance configuration
POST/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces/{namespace}/tables/{table_name}/maintenance-configs
ModelsExpand Collapse
MaintenanceConfigGetResponse { maintenance_config }

Contains table maintenance configuration.

maintenance_config: { compaction, snapshot_expiration }

Configures maintenance for the table.

compaction: optional { state, target_size_mb }

Configures compaction settings for table optimization.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
MaintenanceConfigUpdateResponse { compaction, snapshot_expiration }

Configures maintenance for the table.

compaction: optional { state, target_size_mb }

Configures compaction settings for table optimization.

state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: "64" or "128" or "256" or "512"

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: optional { max_snapshot_age, min_snapshots_to_keep, state }

Configures snapshot expiration settings.

max_snapshot_age: string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

min_snapshots_to_keep: number

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
state: "enabled" or "disabled"

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"