From 25d99c7763741f07d54c51580f8c5357c30b73d1 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 15:28:41 +0000 Subject: [PATCH 1/6] Updated mintlify pages - Updated storage/dashboard.mdx - Updated stream/data-and-privacy.mdx - Updated storage/s3.mdx Mintlify-Source: dashboard-editor --- storage/s3.mdx | 18 +++++++++++++----- stream/data-and-privacy.mdx | 4 ++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/storage/s3.mdx b/storage/s3.mdx index a5c1d06..cb27d1b 100644 --- a/storage/s3.mdx +++ b/storage/s3.mdx @@ -1,7 +1,11 @@ -Bunny Storage supports an S3-compatible API (currently in beta), allowing you to use familiar S3 tools, libraries, and workflows with your storage zones. Use existing S3 tools and scripts, leverage popular S3 libraries across all programming languages, migrate from AWS S3 with minimal code changes, and work with S3 GUI tools. +--- +title: "S3-Compatible API" +--- + +Bunny Storage supports an S3-compatible API, allowing you to use familiar S3 tools, libraries, and workflows with your storage zones. Use existing S3 tools and scripts, leverage popular S3 libraries across all programming languages, migrate from AWS S3 with minimal code changes, and work with S3 GUI tools. - S3 compatibility is currently in closed preview. S3 compatibility must be enabled during storage zone creation and cannot be changed afterward. + S3 compatibility is currently in public preview. S3 compatibility must be enabled during storage zone creation and cannot be changed afterward. ## Creating a storage zone with S3 compatibility @@ -43,7 +47,7 @@ When uploading objects, Content-Type is determined in the following order: ### Checksum Validation -SHA256 checksum validation is available using the `x-amz-checksum-sha256` header (Base64 encoded).\\ +SHA256 checksum validation is available using the `x-amz-checksum-sha256` header (Base64 encoded). ### Presigned URL Validation @@ -192,7 +196,7 @@ Bunny Storage provides full support for S3 multipart uploads, enabling efficient | API Name | Features | | --- | --- | | ✅ [`CreateMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) | ✅ Multipart session creation
✅ Returns UploadId
✅ System Metadata:
    ✅ Content-Type (with automatic detection from file extension)
    ✅ Content-Type stored in session for final object
✅ Automatic replication session creation
❌ Storage class selection
❌ Cache-Control, Content-Disposition, etc.
❌ SSE/SSE-C encryption
❌ Object tagging
❌ Object locking
❌ ACL headers | -| ✅ [`UploadPart`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) | ✅ Part upload (up to 10,000 parts)
✅ Returns ETag (part checksum)
✅ Automatic replication of parts
❌ Content-MD5 validation
❌ SSE/SSE-C encryption | +| ✅ [`UploadPart`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) | ✅ Part upload (up to 10,000 parts)
✅ Returns ETag (part checksum)
✅ Automatic replication of parts
✅ Content-MD5 validation
❌ SSE/SSE-C encryption | | ✅ [`UploadPartCopy`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) | ✅ Copy within same storage zone
✅ Part size up to 5 GB
✅ Range copy (source object must be greater than 5 MB)
✅ Supported headers:
    ✅ x-amz-copy-source
    ✅ x-amz-copy-source-range (optional, format: bytes=first-last)
❌ Cross-zone copying
❌ Conditional source headers
❌ Server-side encryption
❌ Bucket-owner verification
❌ Requester payer
❌ ACL grants | | ✅ [`ListParts`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) | ✅ Query Parameters:
    ✅ max-parts (default 1000)
    ✅ part-number-marker
✅ Returns part ETag and size
✅ Pagination support
✅ IsTruncated flag | | ✅ [`CompleteMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) | ✅ Finalizes multipart upload
✅ Validates all parts present
✅ Validates part ETags
✅ Creates final object with combined checksum
✅ Final checksum format: `MD5(part1+part2+...)-{partCount}`
✅ Applies Content-Type from session
✅ Automatic replication of completed object
✅ Cleanup of part files
✅ Returns ETag, Location, Bucket, Key
❌ Checksums in response | @@ -240,11 +244,14 @@ Below is a detailed list of implemented object-level operations with their suppo Be aware of the following limitations when using S3-compatible storage: +- 500 max RPS rate (upload & download combined) +- 1Gbps max bandwidth throughput + ### Regional availability S3-compatible storage zones support automatic multi-region replication. All operations including uploads, deletes, and multipart uploads are automatically replicated to your configured replication regions. -S3 compatibility is currently only available in the following regions: +S3 compatibility is currently available in the following regions: - Frankfurt (DE) - New York (NY) @@ -253,6 +260,7 @@ S3 compatibility is currently only available in the following regions: - Stockholm (SE) - Los Angeles (LA) - Johannesburg (JH) +- Sydney (JH) Additional regions will be added in the future. diff --git a/stream/data-and-privacy.mdx b/stream/data-and-privacy.mdx index bbd52c3..b6707b5 100644 --- a/stream/data-and-privacy.mdx +++ b/stream/data-and-privacy.mdx @@ -12,6 +12,6 @@ Bunny Stream and Bunny Player are designed to avoid collecting or permanently st Resumable playback is managed entirely within the user's browser using Browser Local Storage on the user's device. No playback information is shared with or stored by bunny.net . Stored playback data is retained locally for up to seven (7) days, after which it is automatically deleted. The playback position is updated every second during viewing and is also saved when the user closes the browser tab or the page is unloaded. The playback position is not saved if the video is within three (3) seconds of completion. This design allows users to resume playback while ensuring that all playback data remains stored exclusively on the user's device. Playback data is never transmitted to or stored by bunny.net . Any technical telemetry transmitted by the player is anonymized and used solely to monitor service health and optimize streaming performance. It is never used for user tracking or identification. - For more information check out our GDPR and Privacy & data policies: \ - [https://bunny.net/gdpr/](https://bunny.net/gdpr/) & [https://bunny.net/privacy/](https://bunny.net/privacy/)\\ + For more information check out our GDPR and Privacy & ddata policies: \ + [https://bunny.net/gdpr/](https://bunny.net/gdpr/) & [https://bunny.net/privacy/](https://bunny.net/privacy/)\\\\ \ No newline at end of file From db3604b054c4ed11877e8de0c0e4a9991bf3a377 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 15:30:45 +0000 Subject: [PATCH 2/6] Updated mintlify pages - Updated docs.json Mintlify-Source: dashboard-editor --- docs.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs.json b/docs.json index 78f7f89..1ed2714 100644 --- a/docs.json +++ b/docs.json @@ -676,6 +676,8 @@ "pages": [ "storage/dashboard", "storage/http", + "storage/s3", + "storage/ftp", { "group": "SDKs", "pages": [ @@ -684,8 +686,7 @@ "storage/dotnet-sdk", "storage/java-sdk" ] - }, - "storage/ftp" + } ] }, { From 0788d100f873129c792f9183d8c97fb1a4d88225 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 15:35:55 +0000 Subject: [PATCH 3/6] Updated mintlify pages - Updated storage/s3.mdx Mintlify-Source: dashboard-editor --- storage/s3.mdx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/storage/s3.mdx b/storage/s3.mdx index cb27d1b..81516a5 100644 --- a/storage/s3.mdx +++ b/storage/s3.mdx @@ -247,6 +247,9 @@ Be aware of the following limitations when using S3-compatible storage: - 500 max RPS rate (upload & download combined) - 1Gbps max bandwidth throughput +- 500 max RPS rate (upload & download combined) +- 1Gbps max bandwidth throughput + ### Regional availability S3-compatible storage zones support automatic multi-region replication. All operations including uploads, deletes, and multipart uploads are automatically replicated to your configured replication regions. From 14675e5b208319154f528cf6a72074647f65e420 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 15:48:35 +0000 Subject: [PATCH 4/6] Updated mintlify pages - Updated storage/s3.mdx Mintlify-Source: dashboard-editor --- storage/s3.mdx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/storage/s3.mdx b/storage/s3.mdx index 81516a5..52d4016 100644 --- a/storage/s3.mdx +++ b/storage/s3.mdx @@ -65,7 +65,11 @@ Presigned URLs require authentication. For publicly available presigned URLs wit **Presigned URL example (1hour):**\ https://\[region\]-s3.storage.bunnycdn.com/bucket-name/path/to/object/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=\[AccessKeyID\+Date\+region\+servicerequest\]&X-Amz-Date=20260320T160912Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=\[HMAC-SHA256Signature\]/ -## Examples + + Presigned URLs are cached and the cache validates signatures for cached objects. Currently objects up to 256MB are cached, and only if they are accessed at least 2 times. + + +## Example ### AWS CLI @@ -245,8 +249,7 @@ Below is a detailed list of implemented object-level operations with their suppo Be aware of the following limitations when using S3-compatible storage: - 500 max RPS rate (upload & download combined) -- 1Gbps max bandwidth throughput - +- 1Gbps max bandwidth throughput - 500 max RPS rate (upload & download combined) - 1Gbps max bandwidth throughput From 3ce2d437649a941a2b280217c20cf043021d31bc Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 15:51:00 +0000 Subject: [PATCH 5/6] Updated mintlify pages - Updated storage/s3.mdx Mintlify-Source: dashboard-editor --- storage/s3.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/storage/s3.mdx b/storage/s3.mdx index 52d4016..bb6fb11 100644 --- a/storage/s3.mdx +++ b/storage/s3.mdx @@ -31,7 +31,8 @@ The credentials you need to connect via S3 are located in the **Access** tab: - **Access Key ID**: Your Storage Zone name (bucket name) - **Secret Access Key**: Your Storage Zone Password - **Endpoint URL**: `https://[region]-s3.storage.bunnycdn.com` -- **Region**: `de` (Frankfurt), `ny` (New York), `sg` (Singapore), `uk` (London), `se` (Stockholm), `la` (Los angeles) or `jh` (Johannesburg) +- **Region**: `de` (Frankfurt), `ny` (New York), `sg` (Singapore), `uk` (London), \ + `se` (Stockholm), `la` (Los angeles),`jh` (Johannesburg) & `syd` (Sydney) Bunny Storage only supports path-style URLs (e.g., `https://[region]-s3.storage.bunnycdn.com/bucket-name/key`). Virtual hosted-style URLs (e.g., `bucket-name.s3.region.amazonaws.com`) are not supported. @@ -248,10 +249,8 @@ Below is a detailed list of implemented object-level operations with their suppo Be aware of the following limitations when using S3-compatible storage: -- 500 max RPS rate (upload & download combined) -- 1Gbps max bandwidth throughput -- 500 max RPS rate (upload & download combined) -- 1Gbps max bandwidth throughput +- 500 Max RPS rate (upload & download combined) +- 1Gbps Max bandwidth throughput ### Regional availability @@ -266,7 +265,7 @@ S3 compatibility is currently available in the following regions: - Stockholm (SE) - Los Angeles (LA) - Johannesburg (JH) -- Sydney (JH) +- Sydney (SYD) Additional regions will be added in the future. From 969ef63c9ea7e722f7546a05a1933f61fd926b72 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 14:19:12 +0000 Subject: [PATCH 6/6] Updated mintlify pages - Updated storage/s3.mdx Mintlify-Source: dashboard-editor --- storage/s3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/s3.mdx b/storage/s3.mdx index bb6fb11..e1c12fb 100644 --- a/storage/s3.mdx +++ b/storage/s3.mdx @@ -52,7 +52,7 @@ SHA256 checksum validation is available using the `x-amz-checksum-sha256` header ### Presigned URL Validation -Presigned URLs require authentication. For publicly available presigned URLs without authentication please use [bunny.net](http://bunny.net) CDN by adding a pullzone to your storage zone. +Presigned URLs require authentication. For publicly available presigned URLs fronted by CDN please use [bunny.net](http://bunny.net) CDN by adding a pullzone to your storage zone. | Parameter | Description | | --- | --- |