---
title: "Cloudflare R2"
description: "Creates and manages buckets, objects, Data Catalogs, domains and rules, and reads object contents."
---

> Documentation Index
> Fetch the complete documentation index at: https://help.tooluse.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare R2

<p>Creates and manages buckets, objects, Data Catalogs, domains and rules, and reads object contents.</p>

<details data-command-index><summary>What you can do (46)</summary>
<h2>What you can do</h2>
<p>Available commands: 46 (23 read, 23 write). Enable only the commands your application needs.</p>
<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Command</th>
<th>Effect</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listBuckets">Browse buckets</a> — <code>r2.listBuckets</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listCatalogs">Browse Data Catalogs</a> — <code>r2.listCatalogs</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-metrics">Read usage metrics</a> — <code>r2.metrics</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getBucket">Read bucket</a> — <code>r2.getBucket</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getBucketCorsPolicy">Read CORS</a> — <code>r2.getBucketCorsPolicy</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getCatalog">Read Data Catalog</a> — <code>r2.getCatalog</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getCatalogMaintenanceConfig">Read Catalog maintenance settings</a> — <code>r2.getCatalogMaintenanceConfig</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getLifecycleRules">Read lifecycle rules</a> — <code>r2.getLifecycleRules</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getLockRules">Read lock rules</a> — <code>r2.getLockRules</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getManagedDomain">Read hosted domain</a> — <code>r2.getManagedDomain</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getSippy">Read Sippy configuration</a> — <code>r2.getSippy</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listCustomDomains">Browse custom domains</a> — <code>r2.listCustomDomains</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listEventNotificationRules">Browse event notifications</a> — <code>r2.listEventNotificationRules</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listNamespaces">Browse namespaces</a> — <code>r2.listNamespaces</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listObjects">Browse objects</a> — <code>r2.listObjects</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getObject">Read object</a> — <code>r2.getObject</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-listTables">Browse tables</a> — <code>r2.listTables</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-createBucket">Create bucket</a> — <code>r2.createBucket</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-deleteBucket">Delete bucket</a> — <code>r2.deleteBucket</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-putObject">Upload object</a> — <code>r2.putObject</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-deleteObject">Delete object</a> — <code>r2.deleteObject</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getCustomDomain">Read a custom domain</a> — <code>r2.getCustomDomain</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getEventNotificationRule">Read an event notification rule</a> — <code>r2.getEventNotificationRule</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getSlurperJob">Read a migration job</a> — <code>r2.getSlurperJob</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getSlurperJobLogs">Read migration job logs</a> — <code>r2.getSlurperJobLogs</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getSlurperJobProgress">Read migration job progress</a> — <code>r2.getSlurperJobProgress</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-getTableMaintenanceConfig">Read table maintenance settings</a> — <code>r2.getTableMaintenanceConfig</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-attachCustomDomain">Attach a custom domain</a> — <code>r2.attachCustomDomain</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-configureCustomDomain">Update a custom domain</a> — <code>r2.configureCustomDomain</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-removeCustomDomain">Remove a custom domain</a> — <code>r2.removeCustomDomain</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-createEventNotificationRule">Create an event notification rule</a> — <code>r2.createEventNotificationRule</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-deleteEventNotificationRule">Delete an event notification rule</a> — <code>r2.deleteEventNotificationRule</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-pauseSlurperJob">Pause a migration job</a> — <code>r2.pauseSlurperJob</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-resumeSlurperJob">Resume a migration job</a> — <code>r2.resumeSlurperJob</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-abortSlurperJob">Abort a migration job</a> — <code>r2.abortSlurperJob</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-patchBucket">Change bucket storage class</a> — <code>r2.patchBucket</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-putBucketCorsPolicy">Replace the CORS policy</a> — <code>r2.putBucketCorsPolicy</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-deleteBucketCorsPolicy">Delete the CORS policy</a> — <code>r2.deleteBucketCorsPolicy</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-putLifecycleRules">Replace lifecycle rules</a> — <code>r2.putLifecycleRules</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-putLockRules">Replace object lock rules</a> — <code>r2.putLockRules</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-enableCatalog">Enable the Data Catalog</a> — <code>r2.enableCatalog</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-disableCatalog">Disable the Data Catalog</a> — <code>r2.disableCatalog</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-disableSippy">Disable Sippy migration</a> — <code>r2.disableSippy</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-updateManagedDomain">Update the hosted domain</a> — <code>r2.updateManagedDomain</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-updateCatalogMaintenanceConfig">Update Catalog maintenance settings</a> — <code>r2.updateCatalogMaintenanceConfig</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/cloudflare-r2#command-r2-updateTableMaintenanceConfig">Update table maintenance settings</a> — <code>r2.updateTableMaintenanceConfig</code></td>
<td>Write</td>
</tr>
</tbody></table>
</div>
</details>
<h2>Connect and use</h2>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2">Connect and use</a></p>
<p>Open the integration&#39;s connection form to check the available credential source. The source has not been resolved for this documentation export. The instructions below apply when using your own provider account.</p>
<h2>Get your provider credentials</h2>
<p>Follow these steps for Cloudflare R2, then enter the issued values in the connection form below.</p>
<ol>
<li>In Cloudflare My Profile → API Tokens → Create Token, create a custom token for the target account and product: Images, URL Scanner or R2. Grant only the read/edit permissions needed by your commands. Enter the token and dashboard Account ID. An R2 S3 access key is not a Cloudflare management API token.</li>
</ol>
<p><a href="https://developers.cloudflare.com/r2/">Official credential setup</a></p>
<h2>Where to enter credentials</h2>
<p>In the integration page, sign in, choose your workspace and open Connect. If a <strong>Credentials</strong> choice is shown, select <strong>Use my credentials</strong>. Fill the following connection fields and save. Provider credentials belong in this form, never in an MCP configuration or tool input.</p>
<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Connection field</th>
<th>Requirement</th>
</tr>
</thead>
<tbody><tr>
<td>OAuth client id</td>
<td>Required</td>
</tr>
<tr>
<td>OAuth client secret</td>
<td>Required</td>
</tr>
<tr>
<td>API token (optional: use this instead of signing in)</td>
<td>Optional</td>
</tr>
<tr>
<td>Cloudflare Account ID (optional)</td>
<td>Optional</td>
</tr>
</tbody></table>
</div><p>Open API keys and create a Tooluse.net key for the enabled commands.</p>
<p>Set TOOLUSE_API_KEY in your client and use the shared MCP configuration.</p>
<p><a href="https://help.tooluse.net/clients">Configure Claude Code, Codex or Cursor once</a></p>

<h2>Permissions and results</h2>

<p>If you have more than one workspace, check the selected workspace in the connection or API-key dialog before saving. Roles, enabled commands, expiry and revocation use Tooluse.net&#39;s existing permissions. Disabling a connection or revoking a key immediately prevents new calls.</p>

<p>Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.</p>

<p>Your connection&#39;s daily allowance and key permissions also apply. Adding a connection does not make a provider request.</p>

<p>Calls return the shared execution receipt and a Claude tool_result. Provider output varies by operation; consult the provider documentation for its response fields. Unconfirmed calls should be checked before retrying.</p>

<h2>Call from your client</h2>

<p>Use the shared MCP configuration. Refresh your client&#39;s tool list after saving the connection or changing key permissions, then call the returned tool name with the example input below.</p>

<p><a href="https://help.tooluse.net/clients">Configure Claude Code, Codex or Cursor once</a></p>

<h2>Discover your enabled tools</h2>

<p>List permitted tools in Claude format. Read every page using page and size (maximum 100) until all results have been received. Use the returned name, not a catalog capability identifier, in the tool_use block.</p>

<pre><code class="language-bash">curl 'https://api.tooluse.net/v1/tools' \
  -H "Authorization: Bearer $TOOLUSE_API_KEY"
</code></pre>

<p>Find this command in the tool list permitted by your key. Replace svc_FROM_YOUR_TOOL_LIST with its returned name. Use a new Idempotency-Key for each new call and retain it when retrying that same call.</p>

<h2>HTTP call</h2>

<pre><code class="language-bash">curl 'https://api.tooluse.net/v1/tool-calls' \
  -H "Authorization: Bearer $TOOLUSE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: replace-with-a-new-call-id' \
  --data '{
  "type": "tool_use",
  "id": "toolu_example",
  "name": "svc_FROM_YOUR_TOOL_LIST",
  "input": {
    "limit": 50
  }
}'
</code></pre>

<p>Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.</p>

<h2>Commands</h2>

<details id="command-r2-listBuckets">
<summary><span>Browse buckets — <code>r2.<wbr>listBuckets</code></span></summary>
<p>Run <strong>Browse buckets</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listBuckets">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>limit</code></td>
<td>integer</td>
<td>Optional</td>
<td>Buckets per page</td>
<td><code>minimum: 1; maximum: 1000</code></td>
</tr>
<tr>
<td><code>cursor</code></td>
<td>string</td>
<td>Optional</td>
<td>Next page cursor</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>nameContains</code></td>
<td>string</td>
<td>Optional</td>
<td>Bucket name contains</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>startAfter</code></td>
<td>string</td>
<td>Optional</td>
<td>Start after bucket name</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>direction</code></td>
<td>string</td>
<td>Optional</td>
<td>Sort direction</td>
<td><code>enum: [&quot;asc&quot;,&quot;desc&quot;]</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listBuckets">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "limit": 50
}
</code></pre>

<p>At most 3 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listCatalogs">
<summary><span>Browse Data Catalogs — <code>r2.<wbr>listCatalogs</code></span></summary>
<p>Run <strong>Browse Data Catalogs</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listCatalogs">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<p>This tool has no input parameters.</p>

<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listCatalogs">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{}
</code></pre>

<p>At most 3 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-metrics">
<summary><span>Read usage metrics — <code>r2.<wbr>metrics</code></span></summary>
<p>Run <strong>Read usage metrics</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.metrics">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<p>This tool has no input parameters.</p>

<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.metrics">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{}
</code></pre>

<p>At most 3 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getBucket">
<summary><span>Read bucket — <code>r2.<wbr>getBucket</code></span></summary>
<p>Run <strong>Read bucket</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getBucket">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getBucket">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getBucketCorsPolicy">
<summary><span>Read CORS — <code>r2.<wbr>getBucketCorsPolicy</code></span></summary>
<p>Run <strong>Read CORS</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getBucketCorsPolicy">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getBucketCorsPolicy">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getCatalog">
<summary><span>Read Data Catalog — <code>r2.<wbr>getCatalog</code></span></summary>
<p>Run <strong>Read Data Catalog</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getCatalog">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getCatalog">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getCatalogMaintenanceConfig">
<summary><span>Read Catalog maintenance settings — <code>r2.<wbr>getCatalogMaintenanc<wbr>eConfig</code></span></summary>
<p>Run <strong>Read Catalog maintenance settings</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getCatalogMaintenanceConfig">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getCatalogMaintenanceConfig">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getLifecycleRules">
<summary><span>Read lifecycle rules — <code>r2.<wbr>getLifecycleRules</code></span></summary>
<p>Run <strong>Read lifecycle rules</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getLifecycleRules">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getLifecycleRules">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getLockRules">
<summary><span>Read lock rules — <code>r2.<wbr>getLockRules</code></span></summary>
<p>Run <strong>Read lock rules</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getLockRules">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getLockRules">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getManagedDomain">
<summary><span>Read hosted domain — <code>r2.<wbr>getManagedDomain</code></span></summary>
<p>Run <strong>Read hosted domain</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getManagedDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getManagedDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getSippy">
<summary><span>Read Sippy configuration — <code>r2.<wbr>getSippy</code></span></summary>
<p>Run <strong>Read Sippy configuration</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getSippy">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getSippy">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listCustomDomains">
<summary><span>Browse custom domains — <code>r2.<wbr>listCustomDomains</code></span></summary>
<p>Run <strong>Browse custom domains</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listCustomDomains">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listCustomDomains">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listEventNotificationRules">
<summary><span>Browse event notifications — <code>r2.<wbr>listEventNotificatio<wbr>nRules</code></span></summary>
<p>Run <strong>Browse event notifications</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listEventNotificationRules">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listEventNotificationRules">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listNamespaces">
<summary><span>Browse namespaces — <code>r2.<wbr>listNamespaces</code></span></summary>
<p>Run <strong>Browse namespaces</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listNamespaces">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>limit</code></td>
<td>integer</td>
<td>Optional</td>
<td>Namespaces per page</td>
<td><code>minimum: 1; maximum: 1000</code></td>
</tr>
<tr>
<td><code>pageToken</code></td>
<td>string</td>
<td>Optional</td>
<td>Next page token</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>parent</code></td>
<td>array</td>
<td>Optional</td>
<td>Parent namespace path</td>
<td><code>minItems: 1; maxItems: 20; uniqueItems: true</code></td>
</tr>
<tr>
<td><code>parent[]</code></td>
<td>string</td>
<td>Optional</td>
<td>Namespace segment</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>returnDetails</code></td>
<td>boolean</td>
<td>Optional</td>
<td>Include details</td>
<td></td>
</tr>
<tr>
<td><code>returnUuids</code></td>
<td>boolean</td>
<td>Optional</td>
<td>Include UUIDs</td>
<td></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listNamespaces">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listObjects">
<summary><span>Browse objects — <code>r2.<wbr>listObjects</code></span></summary>
<p>Run <strong>Browse objects</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listObjects">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>prefix</code></td>
<td>string</td>
<td>Optional</td>
<td>Prefix</td>
<td><code>minLength: 0; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>cursor</code></td>
<td>string</td>
<td>Optional</td>
<td>Next page cursor</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>limit</code></td>
<td>integer</td>
<td>Optional</td>
<td>Items per page</td>
<td><code>minimum: 1; maximum: 100</code></td>
</tr>
<tr>
<td><code>delimiter</code></td>
<td>string</td>
<td>Optional</td>
<td>Path delimiter</td>
<td><code>minLength: 1; maxLength: 20</code></td>
</tr>
<tr>
<td><code>startAfter</code></td>
<td>string</td>
<td>Optional</td>
<td>Start after object key</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listObjects">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "limit": 20
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getObject">
<summary><span>Read object — <code>r2.<wbr>getObject</code></span></summary>
<p>Run <strong>Read object</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getObject">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>objectKey</code></td>
<td>string</td>
<td>Required</td>
<td>Object key</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getObject">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "objectKey": "document.txt"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-listTables">
<summary><span>Browse tables — <code>r2.<wbr>listTables</code></span></summary>
<p>Run <strong>Browse tables</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.listTables">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>namespace</code></td>
<td>string</td>
<td>Required</td>
<td>Namespace</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>limit</code></td>
<td>integer</td>
<td>Optional</td>
<td>Tables per page</td>
<td><code>minimum: 1; maximum: 1000</code></td>
</tr>
<tr>
<td><code>pageToken</code></td>
<td>string</td>
<td>Optional</td>
<td>Next page token</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>returnDetails</code></td>
<td>boolean</td>
<td>Optional</td>
<td>Include details</td>
<td></td>
</tr>
<tr>
<td><code>returnUuids</code></td>
<td>boolean</td>
<td>Optional</td>
<td>Include UUIDs</td>
<td></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.listTables">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "namespace": "default"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-createBucket">
<summary><span>Create bucket — <code>r2.<wbr>createBucket</code></span></summary>
<p>Run <strong>Create bucket</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.createBucket">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>locationHint</code></td>
<td>string</td>
<td>Optional</td>
<td>Location hint</td>
<td><code>enum: [&quot;apac&quot;,&quot;eeur&quot;,&quot;enam&quot;,&quot;weur&quot;,&quot;wnam&quot;,&quot;oc&quot;]</code></td>
</tr>
<tr>
<td><code>storageClass</code></td>
<td>string</td>
<td>Optional</td>
<td>Storage class</td>
<td><code>enum: [&quot;Standard&quot;,&quot;InfrequentAccess&quot;]</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.createBucket">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "agent-artifacts"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-deleteBucket">
<summary><span>Delete bucket — <code>r2.<wbr>deleteBucket</code></span></summary>
<p>Run <strong>Delete bucket</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.deleteBucket">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.deleteBucket">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-putObject">
<summary><span>Upload object — <code>r2.<wbr>putObject</code></span></summary>
<p>Run <strong>Upload object</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.putObject">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>objectKey</code></td>
<td>string</td>
<td>Required</td>
<td>Object key</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>content</code></td>
<td>string</td>
<td>Required</td>
<td>Object content</td>
<td><code>minLength: 0; maxLength: 1000000</code></td>
</tr>
<tr>
<td><code>contentType</code></td>
<td>string</td>
<td>Optional</td>
<td>Content type</td>
<td><code>minLength: 1; maxLength: 255</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.putObject">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "objectKey": "notes/hello.txt",
  "content": "hello",
  "contentType": "text/plain"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-r2-deleteObject">
<summary><span>Delete object — <code>r2.<wbr>deleteObject</code></span></summary>
<p>Run <strong>Delete object</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.deleteObject">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>objectKey</code></td>
<td>string</td>
<td>Required</td>
<td>Object key</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.deleteObject">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "objectKey": "notes/hello.txt"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getCustomDomain">
<summary><span>Read a custom domain — <code>r2.<wbr>getCustomDomain</code></span></summary>
<p>Run <strong>Read a custom domain</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getCustomDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>domain</code></td>
<td>string</td>
<td>Required</td>
<td>Custom domain</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[A-Za-z0-9.-]{1,253}$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getCustomDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "domain": "assets.example.com"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getEventNotificationRule">
<summary><span>Read an event notification rule — <code>r2.<wbr>getEventNotification<wbr>Rule</code></span></summary>
<p>Run <strong>Read an event notification rule</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getEventNotificationRule">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>queueId</code></td>
<td>string</td>
<td>Required</td>
<td>Queue ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getEventNotificationRule">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "queueId": "queue-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getSlurperJob">
<summary><span>Read a migration job — <code>r2.<wbr>getSlurperJob</code></span></summary>
<p>Run <strong>Read a migration job</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getSlurperJob">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getSlurperJob">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getSlurperJobLogs">
<summary><span>Read migration job logs — <code>r2.<wbr>getSlurperJobLogs</code></span></summary>
<p>Run <strong>Read migration job logs</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getSlurperJobLogs">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>limit</code></td>
<td>integer</td>
<td>Optional</td>
<td>Log entries</td>
<td><code>minimum: 1; maximum: 100</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getSlurperJobLogs">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123",
  "limit": 20
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getSlurperJobProgress">
<summary><span>Read migration job progress — <code>r2.<wbr>getSlurperJobProgres<wbr>s</code></span></summary>
<p>Run <strong>Read migration job progress</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getSlurperJobProgress">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getSlurperJobProgress">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-getTableMaintenanceConfig">
<summary><span>Read table maintenance settings — <code>r2.<wbr>getTableMaintenanceC<wbr>onfig</code></span></summary>
<p>Run <strong>Read table maintenance settings</strong> with Cloudflare R2. This is a read command; it does not grant access beyond the connected account&#39;s permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.getTableMaintenanceConfig">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>namespace</code></td>
<td>string</td>
<td>Required</td>
<td>Namespace</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>tableName</code></td>
<td>string</td>
<td>Required</td>
<td>Table name</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.getTableMaintenanceConfig">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "namespace": "default",
  "tableName": "events"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-attachCustomDomain">
<summary><span>Attach a custom domain — <code>r2.<wbr>attachCustomDomain</code></span></summary>
<p>Run <strong>Attach a custom domain</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.attachCustomDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Cloudflare custom-domain configuration (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.attachCustomDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"domain\":\"assets.example.com\"}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-configureCustomDomain">
<summary><span>Update a custom domain — <code>r2.<wbr>configureCustomDomai<wbr>n</code></span></summary>
<p>Run <strong>Update a custom domain</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.configureCustomDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>domain</code></td>
<td>string</td>
<td>Required</td>
<td>Custom domain</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[A-Za-z0-9.-]{1,253}$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Cloudflare custom-domain configuration (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.configureCustomDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "domain": "assets.example.com",
  "configurationJson": "{\"enabled\":true}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-removeCustomDomain">
<summary><span>Remove a custom domain — <code>r2.<wbr>removeCustomDomain</code></span></summary>
<p>Run <strong>Remove a custom domain</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.removeCustomDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>domain</code></td>
<td>string</td>
<td>Required</td>
<td>Custom domain</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[A-Za-z0-9.-]{1,253}$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.removeCustomDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "domain": "assets.example.com"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-createEventNotificationRule">
<summary><span>Create an event notification rule — <code>r2.<wbr>createEventNotificat<wbr>ionRule</code></span></summary>
<p>Run <strong>Create an event notification rule</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.createEventNotificationRule">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>queueId</code></td>
<td>string</td>
<td>Required</td>
<td>Queue ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Event notification rule (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.createEventNotificationRule">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "queueId": "queue-123",
  "configurationJson": "{\"rules\":[{\"actions\":[\"PutObject\"],\"prefix\":\"incoming/\"}]}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-deleteEventNotificationRule">
<summary><span>Delete an event notification rule — <code>r2.<wbr>deleteEventNotificat<wbr>ionRule</code></span></summary>
<p>Run <strong>Delete an event notification rule</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.deleteEventNotificationRule">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>queueId</code></td>
<td>string</td>
<td>Required</td>
<td>Queue ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.deleteEventNotificationRule">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "queueId": "queue-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-pauseSlurperJob">
<summary><span>Pause a migration job — <code>r2.<wbr>pauseSlurperJob</code></span></summary>
<p>Run <strong>Pause a migration job</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.pauseSlurperJob">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.pauseSlurperJob">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-resumeSlurperJob">
<summary><span>Resume a migration job — <code>r2.<wbr>resumeSlurperJob</code></span></summary>
<p>Run <strong>Resume a migration job</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.resumeSlurperJob">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.resumeSlurperJob">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-abortSlurperJob">
<summary><span>Abort a migration job — <code>r2.<wbr>abortSlurperJob</code></span></summary>
<p>Run <strong>Abort a migration job</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.abortSlurperJob">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>jobId</code></td>
<td>string</td>
<td>Required</td>
<td>Migration job ID</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.abortSlurperJob">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "jobId": "job-123"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-patchBucket">
<summary><span>Change bucket storage class — <code>r2.<wbr>patchBucket</code></span></summary>
<p>Run <strong>Change bucket storage class</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.patchBucket">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>storageClass</code></td>
<td>string</td>
<td>Required</td>
<td>Storage class</td>
<td><code>enum: [&quot;Standard&quot;,&quot;InfrequentAccess&quot;]</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.patchBucket">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "storageClass": "Standard"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-putBucketCorsPolicy">
<summary><span>Replace the CORS policy — <code>r2.<wbr>putBucketCorsPolicy</code></span></summary>
<p>Run <strong>Replace the CORS policy</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.putBucketCorsPolicy">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>CORS policy (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.putBucketCorsPolicy">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"rules\":[]}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-deleteBucketCorsPolicy">
<summary><span>Delete the CORS policy — <code>r2.<wbr>deleteBucketCorsPoli<wbr>cy</code></span></summary>
<p>Run <strong>Delete the CORS policy</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.deleteBucketCorsPolicy">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.deleteBucketCorsPolicy">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-putLifecycleRules">
<summary><span>Replace lifecycle rules — <code>r2.<wbr>putLifecycleRules</code></span></summary>
<p>Run <strong>Replace lifecycle rules</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.putLifecycleRules">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Lifecycle rules (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.putLifecycleRules">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"rules\":[]}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-putLockRules">
<summary><span>Replace object lock rules — <code>r2.<wbr>putLockRules</code></span></summary>
<p>Run <strong>Replace object lock rules</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.putLockRules">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Object lock rules (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.putLockRules">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"rules\":[]}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-enableCatalog">
<summary><span>Enable the Data Catalog — <code>r2.<wbr>enableCatalog</code></span></summary>
<p>Run <strong>Enable the Data Catalog</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.enableCatalog">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.enableCatalog">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-disableCatalog">
<summary><span>Disable the Data Catalog — <code>r2.<wbr>disableCatalog</code></span></summary>
<p>Run <strong>Disable the Data Catalog</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.disableCatalog">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.disableCatalog">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-disableSippy">
<summary><span>Disable Sippy migration — <code>r2.<wbr>disableSippy</code></span></summary>
<p>Run <strong>Disable Sippy migration</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.disableSippy">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.disableSippy">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-updateManagedDomain">
<summary><span>Update the hosted domain — <code>r2.<wbr>updateManagedDomain</code></span></summary>
<p>Run <strong>Update the hosted domain</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.updateManagedDomain">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Managed-domain configuration (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.updateManagedDomain">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"enabled\":true}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-updateCatalogMaintenanceConfig">
<summary><span>Update Catalog maintenance settings — <code>r2.<wbr>updateCatalogMainten<wbr>anceConfig</code></span></summary>
<p>Run <strong>Update Catalog maintenance settings</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.updateCatalogMaintenanceConfig">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Catalog maintenance configuration (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.updateCatalogMaintenanceConfig">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "configurationJson": "{\"compaction\":{\"state\":\"enabled\"}}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<details id="command-r2-updateTableMaintenanceConfig">
<summary><span>Update table maintenance settings — <code>r2.<wbr>updateTableMaintenan<wbr>ceConfig</code></span></summary>
<p>Run <strong>Update table maintenance settings</strong> with Cloudflare R2. This command can change provider data. Review the target and input before invoking it.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/cloudflare-r2?command=r2.updateTableMaintenanceConfig">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>bucketName</code></td>
<td>string</td>
<td>Required</td>
<td>Bucket name</td>
<td><code>minLength: 1; maxLength: 2000; pattern: &quot;^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$&quot;</code></td>
</tr>
<tr>
<td><code>namespace</code></td>
<td>string</td>
<td>Required</td>
<td>Namespace</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>tableName</code></td>
<td>string</td>
<td>Required</td>
<td>Table name</td>
<td><code>minLength: 1; maxLength: 2000</code></td>
</tr>
<tr>
<td><code>configurationJson</code></td>
<td>string</td>
<td>Required</td>
<td>Table maintenance configuration (JSON object)</td>
<td><code>minLength: 1; maxLength: 64000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/cloudflare-r2/commands/r2.updateTableMaintenanceConfig">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "bucketName": "example-bucket",
  "namespace": "default",
  "tableName": "events",
  "configurationJson": "{\"compaction\":{\"state\":\"enabled\"}}"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 30 seconds.</p>

</details>
<h2>Errors</h2>

<p>Check the key&#39;s expiry, revocation, workspace and allowed operations.</p>

<p>Reuse the same idempotency key only for the same request.</p>

<p>The connection or provider limit has been reached. Check the receipt before retrying.</p>

<h2>Test the connection</h2>

<p>Open the integration&#39;s commands below to inspect parameters and examples. Start with a read command for an account or resource you can access. Refresh your client&#39;s tool list, use the returned tool name, and check the execution result and usage. Provider charges and permissions still apply. Never test a write against production data without reviewing it.</p>

<p><a href="https://developers.cloudflare.com/r2/">Official provider documentation</a></p>

Source: https://help.tooluse.net/integrations/cloudflare-r2/index.mdx
