---
title: Update catalog maintenance configuration
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/python)

[Basin Catalog](https://developers.cloudflare.com/api/python/resources/basin_catalog)

[Maintenance Configs](https://developers.cloudflare.com/api/python/resources/basin_catalog/subresources/maintenance_configs)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Update catalog maintenance configuration

basin\_catalog.maintenance\_configs.update(strbucket\_name, MaintenanceConfigUpdateParams\*\*kwargs) -> [MaintenanceConfigUpdateResponse](<https://developers.cloudflare.com/api/python/resources/basin_catalog#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)>)

POST/accounts/{account\_id}/basin-catalog/{bucket\_name}/maintenance-configs

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

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



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

**Example:**<code>X-Auth-Email: user@example.com</code>

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

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### Accepted Permissions (at least one required)

`Workers R2 Data Catalog Write`

##### ParametersExpand Collapse

account\_id: str

Use this to identify the account.

[Link to this property](<#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20account_id%20%3E%20(schema)>)

bucket\_name: str

Specifies the R2 bucket name.

maxLength63

minLength3

[Link to this property](<#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20bucket_name%20%3E%20(schema)>)

<details>

<summary>

compaction: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/basin_catalog/subresources/maintenance_configs/methods/update#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)">Compaction</a>]

Updates compaction configuration (all fields optional).

</summary>

<details>

<summary>

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

Specifies the state of maintenance operations.

</summary>

One of the following:

"enabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20state%20%3E%20(member)%200">Link to this property</a>

"disabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20state%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20state">Link to this property</a>

<details>

<summary>

target\_size\_mb: Optional\[Literal\["64", "128", "256", "512"]]

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

</summary>

One of the following:

"64"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20target_size_mb%20%3E%20(member)%200">Link to this property</a>

"128"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20target_size_mb%20%3E%20(member)%201">Link to this property</a>

"256"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20target_size_mb%20%3E%20(member)%202">Link to this property</a>

"512"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20target_size_mb%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)%20%3E%20(property)%20target_size_mb">Link to this property</a>

</details>

[Link to this property](<#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20compaction%20%3E%20(schema)>)

<details>

<summary>

snapshot\_expiration: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/basin_catalog/subresources/maintenance_configs/methods/update#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)">SnapshotExpiration</a>]

Updates snapshot expiration configuration (all fields optional).

</summary>

max\_snapshot\_age: Optional\[str]

Updates the maximum age for snapshots optionally.

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)%20%3E%20(property)%20max_snapshot_age">Link to this property</a>

min\_snapshots\_to\_keep: Optional\[int]

Updates the minimum number of snapshots to retain optionally.

formatint64

minimum1

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)%20%3E%20(property)%20min_snapshots_to_keep">Link to this property</a>

<details>

<summary>

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

Specifies the state of maintenance operations.

</summary>

One of the following:

"enabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)%20%3E%20(property)%20state%20%3E%20(member)%200">Link to this property</a>

"disabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)%20%3E%20(property)%20state%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)%20%3E%20(property)%20state">Link to this property</a>

</details>

[Link to this property](<#(resource)%20basin_catalog.maintenance_configs%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20snapshot_expiration%20%3E%20(schema)>)

##### ReturnsExpand Collapse

<details>

<summary>

class MaintenanceConfigUpdateResponse: …

Configures maintenance for the catalog.

</summary>

<details>

<summary>

compaction: Optional\[Compaction]

Configures compaction for catalog maintenance.

</summary>

<details>

<summary>

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

Specifies the state of maintenance operations.

</summary>

One of the following:

"enabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20state%20%3E%20(member)%200">Link to this property</a>

"disabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20state%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20state">Link to this property</a>

<details>

<summary>

target\_size\_mb: Literal\["64", "128", "256", "512"]

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

</summary>

One of the following:

"64"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20target_size_mb%20%3E%20(member)%200">Link to this property</a>

"128"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20target_size_mb%20%3E%20(member)%201">Link to this property</a>

"256"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20target_size_mb%20%3E%20(member)%202">Link to this property</a>

"512"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20target_size_mb%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction%20%3E%20(property)%20target_size_mb">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20compaction">Link to this property</a>

interval: Optional\[str]

Scheduling interval between normal table maintenance runs.

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20interval">Link to this property</a>

<details>

<summary>

snapshot\_expiration: Optional\[SnapshotExpiration]

Configures snapshot expiration settings.

</summary>

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”.

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration%20%3E%20(property)%20max_snapshot_age">Link to this property</a>

min\_snapshots\_to\_keep: int

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

formatint64

minimum1

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration%20%3E%20(property)%20min_snapshots_to_keep">Link to this property</a>

<details>

<summary>

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

Specifies the state of maintenance operations.

</summary>

One of the following:

"enabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration%20%3E%20(property)%20state%20%3E%20(member)%200">Link to this property</a>

"disabled"

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration%20%3E%20(property)%20state%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration%20%3E%20(property)%20state">Link to this property</a>

</details>

<a href="#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)%20%3E%20(property)%20snapshot_expiration">Link to this property</a>

</details>

[Link to this property](<#(resource)%20basin_catalog.maintenance_configs%20%3E%20(model)%20maintenance_config_update_response%20%3E%20(schema)>)

### Update catalog maintenance configuration

Python

HTTPTypeScriptPythonGoTerraform

```
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.basin_catalog.maintenance_configs.update(
    bucket_name="my-data-bucket",
    account_id="0123456789abcdef0123456789abcdef",
    compaction={
        "state": "enabled",
        "target_size_mb": "256",
    },
    snapshot_expiration={
        "max_snapshot_age": "14d",
        "min_snapshots_to_keep": 5,
        "state": "enabled",
    },
)
print(maintenance_config.compaction)
```

200 example

```
{
  "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

200 example

```
{
  "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
}
```