> ## Documentation Index
> Fetch the complete documentation index at: https://docs.everabyte.com/llms.txt
> Use this file to discover all available pages before exploring further.

# S3 compatibility

> What the S3-compatible gateway covers when enabled, and why it is not a universal guarantee.

> [!WARNING]
>
> The S3-compatible gateway is **feature-gated** and not enabled by default. Do not build an integration that assumes it is available. Confirm availability with support before committing to this path.

## Status

| Statement | Accurate? |
| - | - |
| "Everabyte is S3-compatible out of the box" | No |
| "An S3-compatible gateway may be enabled for your account" | Yes |
| "AWS CLI, rclone, or MinIO will work today" | Only if enabled for you |
| "The REST API is the supported integration path" | Yes |

## What the gateway covers when enabled

The gateway speaks SigV4 and supports:

| Operation | Supported |
| - | - |
| ListBuckets | Yes, within the key's scope |
| HeadBucket | Yes |
| ListObjects | Yes |
| HeadObject | Yes |
| GetObject, including Range | Yes |
| PutObject, single request | Yes |
| Multipart upload: initiate, upload part, complete, abort, list parts, list uploads | Yes |
| DeleteObject, batch delete | Yes |
| POST object operations other than multipart | No, returns `501` |

Multipart limits follow S3 conventions: up to 10,000 parts, up to 5 GiB per part, non-final parts at least 5 MiB, ascending part order, verified ETags, and plan upload caps enforced at initiation and completion.

Objects uploaded through the gateway go through the same encryption pipeline as REST uploads. The stored object is identical to a single-request upload of the same content.

## Clients that can work

With the gateway enabled, tools such as rclone, restic, Duplicati, and Borg (via rclone serve) have been validated. Native multipart means the upload cutoff workaround is no longer required, though it remains supported.

Do not generalize from this list to "any S3 client works". Test your specific client against an enabled account.

## Credentials

The gateway uses SigV4 with the unified API key pair. Scopes still apply:

| Operation type | Scopes |
| - | - |
| Read and listing | `buckets:read` + `files:read` |
| Mutation | `buckets:write` + `files:write` |

A key restricted to specific buckets remains restricted through the gateway.

## Errors

Gateway errors use standard S3 XML error responses, not the JSON envelopes used by the REST API. If your client handles both surfaces, decode them separately.

Common S3 error conditions you may see:

| Condition | Meaning |
| - | - |
| `NoSuchUpload` | The upload ID does not belong to this key, or has expired |
| `EntityTooLarge` | Part or object exceeds the plan cap |
| `EntityTooSmall` | A non-final part is below the minimum size |
| `InvalidPart` | ETag mismatch |
| `InvalidPartOrder` | Parts submitted out of ascending order |

## Operational notes

* In-progress multipart uploads are tracked with a TTL and cleaned up when they expire.
* An upload initiated by one key cannot be completed or aborted by another key.
* Server disk must accommodate in-flight parts for large multipart uploads.
* Bandwidth quotas apply.

## Deciding whether to use it

| If you… | Then |
| - | - |
| Already run rclone or restic | Ask support whether the gateway can be enabled |
| Are starting a new integration | Use the REST API |
| Need guaranteed support | Use the REST API |
| Need S3 API parity | Do not assume it |

## Related

> **[Status](https://docs.everabyte.com/resources/status.md)**
>
> Capability availability.

> **[Integration overview](https://docs.everabyte.com/integrations/overview.md)**
>
> All supported paths.

> **[Buckets](https://docs.everabyte.com/storage/buckets.md)**
>
> Bucket scope and retention.

> **[Support](https://docs.everabyte.com/resources/support.md)**
>
> Confirm gateway availability.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.