Skip to main content

Error Reference

Fil One returns standard S3 error responses in XML format. The format is standard, but the specific code returned for a given condition does not always match AWS S3, so an application that branches on error codes needs review. See known error-code deviations.

Error response format

<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist.</Message>
<BucketName>my-bucket</BucketName>
<RequestId>abc123def456</RequestId>
</Error>

Common error codes

note

Fil One returns standard S3-style error XML. The specific codes and HTTP statuses below are the common AWS S3 values, provided as a guide — the authoritative set is produced by the storage gateway and has not been exhaustively verified against Fil One. Handle unlisted codes defensively.

Client errors (4xx)

CodeHTTP StatusDescription
AccessDenied403You do not have permission or the operation is not implemented. In eu-west-1, unimplemented operations return this instead of NotImplemented (501), and a hidden bucket or key returns it instead of a 404. Check the compatibility matrix before assuming a key-scope problem.
BucketAlreadyExists409The bucket name is already taken. If the bucket is one you already own, eu-west-1 returns BucketAlreadyOwnedByYou instead.
BucketNotEmpty409The bucket is not empty and cannot be deleted.
InvalidAccessKeyId403The access key does not exist or has been revoked.
InvalidBucketName400The bucket name does not meet naming requirements.
InvalidArgument400A request parameter is invalid.
NoSuchBucket404The specified bucket does not exist.
NoSuchKey404The specified object does not exist.
SignatureDoesNotMatch403The request signature does not match. Check your secret key and signing method.
TooManyBuckets400You have reached the maximum number of buckets.

Server errors (5xx)

CodeHTTP StatusDescription
InternalError500An internal error occurred. Retry the request.
ServiceUnavailable503The service is temporarily unavailable. Check the Retry-After header.
SlowDown503You are sending requests too quickly. Implement exponential backoff.

Troubleshooting

SignatureDoesNotMatch -- The most common auth error. Check that:

  1. Your secret key is correct (re-copy from the dashboard if unsure).
  2. Your system clock is accurate (SigV4 requires clocks within 15 minutes of server time).
  3. You are using the region that matches your key and endpoint (eu-west-1 or us-east-1). A key is scoped to one region and is rejected against the other.

AccessDenied (403) -- Not always a permissions problem. In eu-west-1 this is also what an unimplemented operation returns, and what you get instead of a 404 for a bucket or key you cannot see. Confirm the operation is supported in your region in the compatibility matrix before auditing your access-key scopes.

ServiceUnavailable (503) -- Transient. Retry with exponential backoff. If persistent, check status.fil.one.