Skip to main content

Error Reference

Fil One returns standard S3 error responses in XML format. If your application already handles S3 errors, no changes are needed.

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

Client errors (4xx)

CodeHTTP StatusDescription
AccessDenied403You do not have permission, or the object is protected by Object Lock.
BucketAlreadyExists409The bucket name is already taken.
BucketNotEmpty409The bucket contains objects with active Compliance retention 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.
InvalidObjectState403The operation is not valid for the object's current state (e.g., locked).
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.

Object Lock specific errors

ScenarioError codeHTTP StatusMeaning
Delete locked objectAccessDenied403Object has active Compliance retention. Error message includes the expiry date.
Shorten retentionAccessDenied403Compliance mode retention cannot be shortened. You can only extend it.
Delete bucket with locked objectsBucketNotEmpty409Bucket contains objects with active retention. Error includes count and earliest expiry.
Disable Object LockInvalidBucketState409Object Lock is always enabled and cannot be disabled.
Suspend versioningInvalidBucketState409Versioning is always enabled and cannot be suspended.

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 correct region (eu-west-1).

AccessDenied on delete -- If you are trying to delete an object and getting 403, check whether the object has active Object Lock retention with GetObjectRetention.

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