Cloudflare R2 R2 Bucket API

The R2 Bucket API from Cloudflare R2 — 13 operation(s) for r2 bucket.

OpenAPI Specification

cloudflare-r2-r2-bucket-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cloudflare R2 Cloudflare Buckets R2 Bucket API
  description: Cloudflare API endpoints for managing R2 object storage buckets, objects, CORS, lifecycle policies, custom domains, event notifications, data catalog, and temporary credentials.
  version: 4.0.0
  termsOfService: https://www.cloudflare.com/website-terms/
  contact:
    name: Cloudflare Developer Docs
    url: https://developers.cloudflare.com/r2/
servers:
- url: https://api.cloudflare.com/client/v4
  description: Cloudflare API v4
tags:
- name: R2 Bucket
paths:
  /accounts/{account_id}/event_notifications/r2/{bucket_name}/configuration:
    get:
      description: List all event notification rules for a bucket.
      operationId: r2-get-event-notification-configs
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Read Configuration failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_bucket-config'
                  type: object
          description: Read Configuration response.
        '404':
          content:
            application/json:
              example:
                errors:
                - code: 11015
                  message: workers.api.error.no_configs_found_for_bucket
                messages: []
                result: null
                success: false
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: No Configuration Found response.
      security:
      - api_token: []
      summary: List Event Notification Rules
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
      - Workers R2 Storage Read
  /accounts/{account_id}/event_notifications/r2/{bucket_name}/configuration/queues/{queue_id}:
    delete:
      description: Delete an event notification rule. **If no body is provided, all rules for specified queue will be deleted**.
      operationId: r2-event-notification-delete-config
      parameters:
      - in: path
        name: queue_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_queue_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                ruleIds:
                  description: Array of rule ids to delete.
                  items:
                    description: rule ids to be deleted.
                    type: string
                  type: array
              type: object
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Delete Configuration failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - type: object
          description: Delete Configuration response.
      security:
      - api_token: []
      summary: Delete Event Notification Rules
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
    get:
      description: Get a single event notification rule.
      operationId: r2-get-event-notification-config
      parameters:
      - in: path
        name: queue_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_queue_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          default: default
          description: The bucket jurisdiction.
          enum:
          - default
          - eu
          - fedramp
          type: string
          x-stainless-param: jurisdiction
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Read Configuration failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_queues-config'
                  type: object
          description: Read Configuration response.
        '404':
          content:
            application/json:
              example:
                errors:
                - code: 11015
                  message: workers.api.error.no_configs_found_for_bucket
                messages: []
                result: null
                success: false
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: No Configuration Found response.
      security:
      - api_token: []
      summary: Get Event Notification Rule
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
      - Workers R2 Storage Read
    put:
      description: Create event notification rule.
      operationId: r2-put-event-notification-config
      parameters:
      - in: path
        name: queue_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_queue_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                rules:
                  description: Array of rules to drive notifications.
                  items:
                    $ref: '#/components/schemas/r2_rule'
                  minItems: 1
                  type: array
              required:
              - rules
              type: object
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Create Configuration failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - type: object
          description: Create Configuration response.
      security:
      - api_token: []
      summary: Create Event Notification Rule
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
  /accounts/{account_id}/r2/buckets:
    get:
      description: Lists all R2 buckets on your account.
      operationId: r2-list-buckets
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: query
        name: name_contains
        schema:
          description: Bucket names to filter by. Only buckets with this phrase in their name will be returned.
          example: my-bucket
          type: string
      - in: query
        name: start_after
        schema:
          description: Bucket name to start searching after. Buckets are ordered lexicographically.
          example: my-bucket
          type: string
      - in: query
        name: per_page
        schema:
          default: 20
          description: Maximum number of buckets to return in a single call.
          maximum: 1000
          minimum: 1
          type: number
      - in: query
        name: order
        schema:
          description: Field to order buckets by.
          enum:
          - name
          type: string
      - in: query
        name: direction
        schema:
          description: Direction to order buckets.
          enum:
          - asc
          - desc
          example: desc
          type: string
      - in: query
        name: cursor
        schema:
          description: Pagination cursor received during the last List Buckets call. R2 buckets are paginated using cursors instead of page numbers.
          type: string
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: List Buckets response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response_list'
                - properties:
                    result:
                      properties:
                        buckets:
                          items:
                            $ref: '#/components/schemas/r2_bucket'
                          type: array
                      type: object
                  type: object
          description: List Buckets response.
      security:
      - api_token: []
      summary: List Buckets
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
      - Workers R2 Storage Read
    post:
      description: Creates a new R2 bucket.
      operationId: r2-create-bucket
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              example: '{"name": "example-bucket"}'
              properties:
                locationHint:
                  $ref: '#/components/schemas/r2_bucket_location'
                name:
                  $ref: '#/components/schemas/r2_bucket_name'
                storageClass:
                  $ref: '#/components/schemas/r2_storage_class'
              required:
              - name
              type: object
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Create Bucket response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_bucket'
                  type: object
          description: Create Bucket response.
      security:
      - api_token: []
      summary: Create Bucket
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
  /accounts/{account_id}/r2/buckets/{bucket_name}:
    delete:
      description: Deletes an existing R2 bucket.
      operationId: r2-delete-bucket
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Delete Bucket response failure.
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response'
          description: Delete Bucket response.
      security:
      - api_token: []
      summary: Delete Bucket
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
    get:
      description: Gets properties of an existing R2 bucket.
      operationId: r2-get-bucket
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Bucket response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_bucket'
                  type: object
          description: Get Bucket response.
      security:
      - api_token: []
      summary: Get Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.read
    patch:
      description: Updates properties of an existing R2 bucket.
      operationId: r2-patch-bucket
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      - in: header
        name: cf-r2-storage-class
        required: true
        schema:
          allOf:
          - $ref: '#/components/schemas/r2_storage_class'
          x-stainless-param: storage_class
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Bucket response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_bucket'
                  type: object
          description: Patch Bucket response.
      security:
      - api_token: []
      summary: Patch Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.write
  /accounts/{account_id}/r2/buckets/{bucket_name}/cors:
    delete:
      description: Delete the CORS policy for a bucket.
      operationId: r2-delete-bucket-cors-policy
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Error Response.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - type: object
          description: Success Response.
      security:
      - api_token: []
      summary: Delete Bucket CORS Policy
      tags:
      - R2 Bucket
    get:
      description: Get the CORS policy for a bucket.
      operationId: r2-get-bucket-cors-policy
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Error Response.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      properties:
                        rules:
                          items:
                            $ref: '#/components/schemas/r2_cors-rule'
                          type: array
                      type: object
                  type: object
          description: Success Response.
      security:
      - api_token: []
      summary: Get Bucket CORS Policy
      tags:
      - R2 Bucket
    put:
      description: Set the CORS policy for a bucket.
      operationId: r2-put-bucket-cors-policy
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                rules:
                  items:
                    $ref: '#/components/schemas/r2_cors-rule'
                  type: array
              type: object
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Error Response.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - type: object
          description: Success Response.
      security:
      - api_token: []
      summary: Put Bucket CORS Policy
      tags:
      - R2 Bucket
  /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom:
    get:
      description: Gets a list of all custom domains registered with an existing R2 bucket.
      operationId: r2-list-custom-domains
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: List Custom Domains response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_list_custom_domains_response'
                  type: object
          description: List Custom Domains response.
      security:
      - api_token: []
      summary: List Custom Domains of Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.read
    post:
      description: Register a new custom domain for an existing R2 bucket.
      operationId: r2-add-custom-domain
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/r2_add_custom_domain_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Add Custom Domain response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_add_custom_domain_response'
                  type: object
          description: Add Custom Domain response.
      security:
      - api_token: []
      summary: Attach Custom Domain To Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.write
  /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain}:
    delete:
      description: Remove custom domain registration from an existing R2 bucket.
      operationId: r2-delete-custom-domain
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: domain
        required: true
        schema:
          $ref: '#/components/schemas/r2_domain_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Delete Custom Domain response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_remove_custom_domain_response'
                  type: object
          description: Delete Custom Domain response.
      security:
      - api_token: []
      summary: Remove Custom Domain From Bucket
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
    get:
      description: Get the configuration for a custom domain on an existing R2 bucket.
      operationId: r2-get-custom-domain-settings
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: domain
        required: true
        schema:
          $ref: '#/components/schemas/r2_domain_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Custom Domain Configuration response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      allOf:
                      - $ref: '#/components/schemas/r2_get_custom_domain_response'
                  type: object
          description: Get Custom Domain Configuration response.
      security:
      - api_token: []
      summary: Get Custom Domain Settings
      tags:
      - R2 Bucket
      x-api-token-group:
      - Workers R2 Storage Write
      - Workers R2 Storage Read
    put:
      description: Edit the configuration for a custom domain on an existing R2 bucket.
      operationId: r2-edit-custom-domain-settings
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: domain
        required: true
        schema:
          $ref: '#/components/schemas/r2_domain_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/r2_edit_custom_domain_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Edit Custom Domain Configuration response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      allOf:
                      - $ref: '#/components/schemas/r2_edit_custom_domain_response'
                  type: object
          description: Edit Custom Domain Configuration response.
      security:
      - api_token: []
      summary: Configure Custom Domain Settings
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.write
  /accounts/{account_id}/r2/buckets/{bucket_name}/domains/managed:
    get:
      description: Gets state of public access over the bucket's R2-managed (r2.dev) domain.
      operationId: r2-get-bucket-public-policy
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Managed Subdomain response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_managed_domain_response'
                  type: object
          description: Get Managed Subdomain response.
      security:
      - api_token: []
      summary: Get r2.dev Domain of Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.read
    put:
      description: Updates state of public access over the bucket's R2-managed (r2.dev) domain.
      operationId: r2-put-bucket-public-policy
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/r2_edit_managed_domain_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Update Managed Subdomain response failure.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_managed_domain_response'
                  type: object
          description: Update Managed Subdomain response.
      security:
      - api_token: []
      summary: Update r2.dev Domain of Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.write
  /accounts/{account_id}/r2/buckets/{bucket_name}/lifecycle:
    get:
      description: Get object lifecycle rules for a bucket.
      operationId: r2-get-bucket-lifecycle-configuration
      parameters:
      - in: path
        name: bucket_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_bucket_name'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      - in: header
        name: cf-r2-jurisdiction
        schema:
          $ref: '#/components/schemas/r2_jurisdiction'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Error Response.
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_lifecycle-config'
                  type: object
          description: Success Response.
      security:
      - api_token: []
      summary: Get Object Lifecycle Rules
      tags:
      - R2 Bucket
    put:
      description: Set the object lifecycle rules for a bucket.
      operationId: r2-put-bucket-lifecycle-configuration
      parameters:
      - in: path
        name: bucket_name
        required: true
        sc

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloudflare-r2/refs/heads/main/openapi/cloudflare-r2-r2-bucket-api-openapi.yml