Error codes
The Filebase S3 API returns the same error format as AWS S3 — XML body, standard HTTP status code, and the standard set of error codes.
Error response format
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist.</Message>
<Resource>/missing-bucket</Resource>
<RequestId>d40f7c5a-...</RequestId>
</Error>
Every modern S3 SDK parses this format and surfaces the Code, Message, and RequestId as exception fields. When opening a support ticket, including the RequestId lets Filebase correlate the request to backend logs.
Common errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | InvalidArgument | A request parameter is malformed. |
| 400 | InvalidBucketName | Bucket name doesn't follow naming rules. |
| 400 | MalformedXML | XML body couldn't be parsed (CORS or lifecycle config). |
| 400 | EntityTooLarge | Object exceeds the 5 GB single-PUT limit — use multipart upload. |
| 403 | AccessDenied | Credentials lack permission, or the bucket ACL forbids the operation. |
| 403 | SignatureDoesNotMatch | Signing key or signed string doesn't match what Filebase computed — usually a region or endpoint mismatch. |
| 403 | RequestTimeTooSkewed | Client clock differs from server time by > 15 minutes. |
| 403 | SignatureExpired | Pre-signed URL has expired. |
| 404 | NoSuchBucket | Bucket doesn't exist on this account. |
| 404 | NoSuchKey | Object doesn't exist. |
| 404 | NoSuchUpload | Multipart upload ID is invalid or has been aborted. |
| 409 | BucketAlreadyExists | Bucket name is already taken globally. |
| 409 | BucketAlreadyOwnedByYou | You already created this bucket. |
| 409 | BucketNotEmpty | Trying to delete a bucket that still contains objects. |
| 411 | MissingContentLength | Body present but Content-Length header missing. |
| 412 | PreconditionFailed | An If-Match / If-None-Match precondition failed. |
| 416 | InvalidRange | The Range header asks for bytes outside the object. |
| 501 | NotImplemented | Operation isn't supported on Filebase — see the compatibility matrix. |
| 503 | SlowDown | Rate limit exceeded — back off and retry. |
Retry behavior
Most SDKs retry idempotent operations (GET, HEAD, LIST, DELETE) automatically with exponential backoff on 5xx errors and 503 SlowDown. For non-idempotent operations (PUT, POST, multipart Complete) the SDK is more cautious — verify before retrying.
The default backoff in the AWS SDKs is exponential with jitter, capped at a few seconds. This works well against Filebase without any tuning.
Diagnosing SignatureDoesNotMatch
This error is almost always one of:
- Wrong region. Use
auto(orus-east-1if your tool refusesauto). - Wrong endpoint. Use
https://s3.filebase.iofor the new S3 tier. - Wrong signature version. Filebase requires SigV4; SigV2 is rejected.
- Body modified between signing and sending. Check that no proxy or middleware (compression, charset conversion) is altering the request body.