Skip to content
Start here

Update table maintenance configuration

r2_data_catalog.namespaces.tables.maintenance_configs.update(strtable_name, MaintenanceConfigUpdateParams**kwargs) -> MaintenanceConfigUpdateResponse
POST/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces/{namespace}/tables/{table_name}/maintenance-configs

Update the maintenance configuration for a specific table. This allows you to enable or disable compaction and adjust target file sizes for optimization.

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
account_id: str

Use this to identify the account.

bucket_name: str

Specifies the R2 bucket name.

maxLength63
minLength3
namespace: str
table_name: str
compaction: Optional[Compaction]

Updates compaction configuration (all fields optional).

state: Optional[Literal["enabled", "disabled"]]

Updates the state optionally.

One of the following:
"enabled"
"disabled"
target_size_mb: Optional[Literal["64", "128", "256", "512"]]

Updates the target file size optionally.

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: Optional[SnapshotExpiration]

Updates snapshot expiration configuration (all fields optional).

max_snapshot_age: Optional[str]

Updates the maximum age for snapshots optionally.

min_snapshots_to_keep: Optional[int]

Updates the minimum number of snapshots to retain optionally.

formatint64
minimum1
state: Optional[Literal["enabled", "disabled"]]

Updates the state optionally.

One of the following:
"enabled"
"disabled"
ReturnsExpand Collapse
class MaintenanceConfigUpdateResponse:

Configures maintenance for the table.

compaction: Optional[Compaction]

Configures compaction settings for table optimization.

state: Literal["enabled", "disabled"]

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"
target_size_mb: Literal["64", "128", "256", "512"]

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

One of the following:
"64"
"128"
"256"
"512"
snapshot_expiration: Optional[SnapshotExpiration]

Configures snapshot expiration settings.

max_snapshot_age: str

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: int

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

formatint64
minimum1
state: Literal["enabled", "disabled"]

Specifies the state of maintenance operations.

One of the following:
"enabled"
"disabled"

Update table maintenance configuration

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
maintenance_config = client.r2_data_catalog.namespaces.tables.maintenance_configs.update(
    table_name="my_table",
    account_id="0123456789abcdef0123456789abcdef",
    bucket_name="my-data-bucket",
    namespace="my_namespace%1Fsub_namespace",
    compaction={
        "state": "enabled",
        "target_size_mb": "256",
    },
    snapshot_expiration={
        "max_snapshot_age": "14d",
        "min_snapshots_to_keep": 5,
        "state": "enabled",
    },
)
print(maintenance_config.compaction)
{
  "errors": [],
  "messages": [],
  "result": {
    "compaction": {
      "state": "enabled",
      "target_size_mb": "256"
    },
    "snapshot_expiration": {
      "max_snapshot_age": "14d",
      "min_snapshots_to_keep": 5,
      "state": "enabled"
    }
  },
  "success": true
}
Returns Examples
{
  "errors": [],
  "messages": [],
  "result": {
    "compaction": {
      "state": "enabled",
      "target_size_mb": "256"
    },
    "snapshot_expiration": {
      "max_snapshot_age": "14d",
      "min_snapshots_to_keep": 5,
      "state": "enabled"
    }
  },
  "success": true
}