## List R2 catalogs `client.r2DataCatalog.list(R2DataCatalogListParamsparams, RequestOptionsoptions?): R2DataCatalogListResponse` **get** `/accounts/{account_id}/r2-catalog` Returns a list of R2 buckets that have been enabled as Apache Iceberg catalogs for the specified account. Each catalog represents an R2 bucket configured to store Iceberg metadata and data files. ### Parameters - `params: R2DataCatalogListParams` - `account_id: string` Use this to identify the account. ### Returns - `R2DataCatalogListResponse` Contains the list of catalogs. - `warehouses: Array` Lists catalogs in the account. - `id: string` Use this to uniquely identify the catalog. - `bucket: string` Specifies the associated R2 bucket name. - `name: string` Specifies the catalog name (generated from account and bucket name). - `status: "active" | "inactive"` Indicates the status of the catalog. - `"active"` - `"inactive"` - `credential_status?: "present" | "absent" | null` Shows the credential configuration status. - `"present"` - `"absent"` - `maintenance_config?: MaintenanceConfig | null` Configures maintenance for the catalog. - `compaction?: Compaction` Configures compaction for catalog maintenance. - `state: "enabled" | "disabled"` Specifies the state of maintenance operations. - `"enabled"` - `"disabled"` - `target_size_mb: "64" | "128" | "256" | "512"` Sets the target file size for compaction in megabytes. Defaults to "128". - `"64"` - `"128"` - `"256"` - `"512"` - `snapshot_expiration?: SnapshotExpiration` 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. - `state: "enabled" | "disabled"` Specifies the state of maintenance operations. - `"enabled"` - `"disabled"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const r2DataCatalogs = await client.r2DataCatalog.list({ account_id: '0123456789abcdef0123456789abcdef', }); console.log(r2DataCatalogs.warehouses); ``` #### Response ```json { "errors": [], "messages": [], "result": { "warehouses": [ { "bucket": "analytics-bucket", "id": "550e8400-e29b-41d4-a716-446655440000", "maintenance_config": { "compaction": { "state": "enabled", "target_size_mb": "128" }, "snapshot_expiration": { "max_snapshot_age": "7d", "min_snapshots_to_keep": 100, "state": "enabled" } }, "name": "account123_analytics-bucket", "status": "active" }, { "bucket": "logs-bucket", "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "maintenance_config": { "compaction": { "state": "disabled", "target_size_mb": "128" }, "snapshot_expiration": { "max_snapshot_age": "7d", "min_snapshots_to_keep": 100, "state": "disabled" } }, "name": "account123_logs-bucket", "status": "inactive" } ] }, "success": true } ```