APIs.io Engineering Platform R2 Bucket API

The R2 Bucket API from APIs.io Engineering Platform — 7 operation(s) for r2 bucket.

Operations 14

GET /accounts/{account_id}/r2/buckets APIs.io Engineering Platform List Buckets #
POST /accounts/{account_id}/r2/buckets APIs.io Engineering Platform Create Bucket #
DELETE /accounts/{account_id}/r2/buckets/{bucket_name} APIs.io Engineering Platform Delete Bucket #
GET /accounts/{account_id}/r2/buckets/{bucket_name} APIs.io Engineering Platform Get Bucket #
GET /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom APIs.io Engineering Platform List Custom Domains of Bucket #
POST /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom APIs.io Engineering Platform Attach Custom Domain To Bucket #
DELETE /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain_name} APIs.io Engineering Platform Remove Custom Domain From Bucket #
PUT /accounts/{account_id}/r2/buckets/{bucket_name}/domains/custom/{domain_name} APIs.io Engineering Platform Configure Custom Domain Settings #
GET /accounts/{account_id}/r2/buckets/{bucket_name}/domains/managed APIs.io Engineering Platform Get r2.dev Domain of Bucket #
PUT /accounts/{account_id}/r2/buckets/{bucket_name}/domains/managed APIs.io Engineering Platform Update r2.dev Domain of Bucket #
DELETE /accounts/{account_id}/r2/buckets/{bucket_name}/sippy APIs.io Engineering Platform Disable Sippy #
GET /accounts/{account_id}/r2/buckets/{bucket_name}/sippy APIs.io Engineering Platform Get Sippy Configuration #
PUT /accounts/{account_id}/r2/buckets/{bucket_name}/sippy APIs.io Engineering Platform Enable Sippy #
POST /accounts/{account_id}/r2/temp-access-credentials APIs.io Engineering Platform Create Temporary Access Credentials #

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/engineering-platform-r2-bucket-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

engineering-platform-r2-bucket-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'To get started using Cloudflare''s products and services via the API, refer to [how to interact with Cloudflare](https://developers.cloudflare.com/fundamentals/basic-tasks/interact-with-cloudflare/), which covers using tools like [Terraform](https://developers.cloudflare.com/terraform/#cloudflare-terraform) and the [official SDKs](https://developers.cloudflare.com/fundamentals/api/reference/sdks/) to maintain your Cloudflare resources.


    Using the Cloudflare API requires authentication so that Cloudflare knows who is making requests and what permissions you have. Create an API token to grant access to the API to perform actions.


    To create an API token, from the Cloudflare dashboard, go to My Profile > API Tokens and select Create Token. For more information on how to create and troubleshoot API tokens, refer to

    our [API fundamentals](https://developers.cloudflare.com/fundamentals/api/).


    Totally new to Cloudflare? [Start here](https://developers.cloudflare.com/fundamentals/get-started/).'
  license:
    name: BSD-3-Clause
    url: https://opensource.org/licenses/BSD-3-Clause
  title: APIs.io Engineering Platform Cloudflare R2 Bucket API
  version: 4.0.0
tags:
- name: R2 Bucket
paths:
  /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
      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: APIs.io Engineering Platform List Buckets
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.list
    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'
      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: APIs.io Engineering Platform Create Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.create
  /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'
      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: APIs.io Engineering Platform Delete Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.delete
    get:
      description: Gets metadata for 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'
      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: APIs.io Engineering Platform Get Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.read
  /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'
      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: APIs.io Engineering Platform 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'
      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: APIs.io Engineering Platform 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_name}:
    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_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_domain_name'
      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: APIs.io Engineering Platform Remove Custom Domain From Bucket
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.delete
    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_name
        required: true
        schema:
          $ref: '#/components/schemas/r2_domain_name'
      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: APIs.io Engineering Platform 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'
      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: APIs.io Engineering Platform 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'
      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: APIs.io Engineering Platform 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}/sippy:
    delete:
      description: Disables Sippy on this bucket
      operationId: r2-delete-bucket-sippy-config
      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'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Delete Sippy Configuration response failure
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      properties:
                        enabled:
                          enum:
                          - false
                          type: boolean
                      type: object
                  type: object
          description: Delete Sippy Configuration response
      security:
      - api_token: []
      summary: APIs.io Engineering Platform Disable Sippy
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.delete
    get:
      description: Gets configuration for Sippy for an existing R2 bucket.
      operationId: r2-get-bucket-sippy-config
      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'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Sippy Configuration response failure
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_sippy'
                  type: object
          description: Get Sippy Configuration response
      security:
      - api_token: []
      summary: APIs.io Engineering Platform Get Sippy Configuration
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.read
    put:
      description: Sets configuration for Sippy for an existing R2 bucket.
      operationId: r2-put-bucket-sippy-config
      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'
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/r2_enable_sippy_aws'
              - $ref: '#/components/schemas/r2_enable_sippy_gcs'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Get Sippy Configuration response failure
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_sippy'
                  type: object
          description: Set Sippy Configuration response
      security:
      - api_token: []
      summary: APIs.io Engineering Platform Enable Sippy
      tags:
      - R2 Bucket
      x-cfPermissionsRequired:
        enum:
        - com.cloudflare.edge.r2.bucket.write
  /accounts/{account_id}/r2/temp-access-credentials:
    post:
      description: Creates temporary access credentials on a bucket that can be optionally scoped to prefixes or objects.
      operationId: r2-create-temp-access-credentials
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/r2_account_identifier'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/r2_temp_access_creds_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/r2_v4_response_failure'
          description: Create temporary access credentials response failure
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/r2_v4_response'
                - properties:
                    result:
                      $ref: '#/components/schemas/r2_temp_access_creds_response'
                  type: object
          description: Create temporary access credentials response
      security:
      - api_token: []
      summary: APIs.io Engineering Platform Create Temporary Access Credentials
      tags:
      - R2 Bucket
components:
  schemas:
    r2_v4_response:
      properties:
        errors:
          $ref: '#/components/schemas/r2_errors'
        messages:
          $ref: '#/components/schemas/r2_messages'
        result:
          type: object
        success:
          description: Whether the API call was successful
          enum:
          - true
          type: boolean
      required:
      - success
      - errors
      - messages
      - result
      type: object
    r2_list_custom_domains_response:
      example:
        domains:
        - domain: prefix.example-domain.one.com
          enabled: false
          status:
            ownership: deactivated
            ssl: pending
          zoneId: 36ca64a6d92827b8a6b90be344bb1bfd
          zoneName: example-domain.one.com
        - domain: prefix.example-domain.two.com
          enabled: true
          status:
            ownership: active
            ssl: active
          zoneId: d9d28585d5f8f5b0f857b055bf574f19
      properties:
        domains:
          items:
            properties:
              domain:
                description: Domain name of the custom domain to be added
                type: string
              enabled:
                description: Whether this bucket is publicly accessible at the specified custom domain
                type: boolean
              minTLS:
                description: Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to 1.0.
                enum:
                - '1.0'
                - '1.1'
                - '1.2'
                - '1.3'
                type: string
              status:
                properties:
                  ownership:
                    description: Ownership status of the domain
                    enum:
                    - pending
                    - active
                    - deactivated
                    - blocked
                    - error
                    - unknown
                    type: string
                  ssl:
                    description: SSL certificate status
                    enum:
                    - initializing
                    - pending
                    - active
                    - deactivated
                    - error
                    - unknown
                    type: string
                required:
                - ssl
                - ownership
                type: object
              zoneId:
                description: Zone ID of the custom domain resides in
                type: string
              zoneName:
                description: Zone that the custom domain resides in
                type: string
            required:
            - domain
            - status
            - enabled
            type: object
          type: array
      required:
      - domains
      type: object
    r2_bucket_location:
      description: Location of the bucket
      enum:
      - apac
      - eeur
      - enam
      - weur
      - wnam
      type: string
    r2_managed_domain_response:
      example:
        bucketId: 0113a9e4549cf9b1ff1bf56e04da0cef
        domain: pub-0113a9e4549cf9b1ff1bf56e04da0cef.r2.dev
        enabled: true
      properties:
        bucketId:
          description: Bucket ID
          maxLength: 32
          type: string
        domain:
          description: Domain name of the bucket's r2.dev domain
          type: string
        enabled:
          description: Whether this bucket is publicly accessible at the r2.dev domain
          type: boolean
      required:
      - bucketId
      - domain
      - enabled
      type: object
    r2_bucket_name:
      description: Name of the bucket
      example: example-bucket
      maxLength: 64
      minLength: 3
      pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]
      type: string
    r2_temp_access_creds_request:
      example:
        bucket: example-bucket
        objects:
        - example-object
        parentAccessKeyId: example-access-key-id
        permission: object-read-write
        prefixes:
        - example-prefix/
        ttlSeconds: 3600
      properties:
        bucket:
          description: Name of the R2 bucket
          type: string
        objects:
          description: Optional object paths to scope the credentials to
          items:
            type: string
          type: array
        parentAccessKeyId:
          description: The parent access key id to use for signing
          type: string
        permission:
          description: Permissions allowed on the credentials
          enum:
          - admin-read-write
          - admin-read-only
          - object-read-write
          - object-read-only
          type: string
        prefixes:
          description: Optional prefix paths to scope the credentials to
          items:
            type: string
          type: array
        ttlSeconds:
          default: 900
          description: How long the credentials will live for in seconds
          maximum: 604800
          type: number
      required:
      - bucket
      - permission
      - ttlSeconds
      - parentAccessKeyId
      type: object
    r2_account_identifier:
      description: Account ID
      example: 023e105f4ecef8ad9ca31a8372d0c353
      maxLength: 32
      type: string
    r2_edit_custom_domain_request:
      example:
        enabled: true
        minTLS: '1.2'
      properties:
        enabled:
          description: Whether to enable public bucket access at the specified custom domain
          type: boolean
        minTLS:
          description: Minimum TLS Version the custom domain will accept for incoming connections. If not set, defaults to previous value.
          enum:
          - '1.0'
          - '1.1'
          - '1.2'
          - '1.3'
          type: string
      type: object
    r2_enable_sippy_gcs:
      properties:
        destination:
          description: R2 bucket to copy objects to
          properties:
            accessKeyId:
              description: 'ID of a Cloudflare API token.

                This is the value labelled "Access Key ID" when creating an API

                token from the [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).


                Sippy will use this token when writing objects to R2, so it is

                best to scope this token to the bucket you''re enabling Sippy for.

                '
              type: string
            provider:
              enum:
              - r2
              type: string
            secretAccessKey:
              description: 'Value of a Cloudflare API token.

                This is the value labelled "Secret Access Key" when creating an API

                token from the [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).


                Sippy will use this token when writing objects to R2, so it is

                best to scope this token to the bucket you''re enabling Sippy for.

                '
              type: string
          type: object
        source:
          description: GCS bucket to copy objects from
          properties:
            bucket:
              description: Name of the GCS bucket
              type: string
            clientEmail:
              description: Client email of an IAM credential (ideally scoped to a single GCS bucket)
              type: string
            privateKey:
              description: Private Key of an IAM credential (ideally scoped to a single GCS bucket)
              type: string
            provider:
              enum:
              - gcs
              type: string
          type: object
    r2_errors:
      items:
        properties:
          code:
            minimum: 1000
            type: integer
          message:
            type: string
        required:
        - code
        - message
        type: object
        uniqueItems: true
      type: array
    r2_v4_response_list:
      allOf:
      - $ref: '#/components/schemas/r2_v4_response'
      - properties:
          result_info:
            $ref: '#/components/schemas/r2_result_info'
        type: object
    r2_sippy:
      properties:
        destination:
          description: Details about the configured destination bucket
          properties:
            accessKeyId:
              description: 'ID of the Cloudflare API token used when writing objects to this

                bucket

                '
              type: string
            account:
              type: string
            bucket:
              description: Name of the bucket on the provider
              type: string
            provider:
              enum:
              - r2
              type: string
          type: object
        enabled:
          description: State of Sippy for this bucket
          type: boolean
        source:
          description: Details about the configured source bucket
          properties:
            bucket:
              description: Name of the bucket on the provider
              type: string
            provider:
              enum:
              - aws
              - gcs
              type: string
            region:
              description: Region where the bucket resides (AWS only)
              type:
              - string
              - 'null'
          type: object
      type: object
    r2_storage_class:
      default: Standard
      description: Storage class for newly uploaded objects, unless specified otherwise.
      enum:
      - Standard
      - InfrequentAccess
      type: string
    r2_messages:
      items:
        type: string
      type: array
    r2_domain_name:
      description: Name of the custom domain
      example: example-domain/custom-domain.com
      type: string
    r2_enable_sippy_aws:
      properties:
        destination:
          description: R2 bucket to copy objects to
          properties:
            accessKeyId:
              description: 'ID of a Cloudflare API token.

                This is the value labelled "Access Key ID" when creating an API

                token from the [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).


                Sippy will use this token when writing objects to R2, so it is

                best to scope this token to the bucket you''re enabling Sippy for.

                '
              type: string
            provider:
              enum:
              - r2
              type: string
            secretAccessKey:
              description: 'Value of a Cloudflare API token.

                This is the value labelled "Secret Access Key" when creating an API

            

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