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)
| Code | HTTP Status | Description |
|---|---|---|
AccessDenied | 403 | You do not have permission. |
BucketAlreadyExists | 409 | The bucket name is already taken. |
BucketNotEmpty | 409 | The bucket is not empty and cannot be deleted. |
InvalidAccessKeyId | 403 | The access key does not exist or has been revoked. |
InvalidBucketName | 400 | The bucket name does not meet naming requirements. |
InvalidArgument | 400 | A request parameter is invalid. |
NoSuchBucket | 404 | The specified bucket does not exist. |
NoSuchKey | 404 | The specified object does not exist. |
SignatureDoesNotMatch | 403 | The request signature does not match. Check your secret key and signing method. |
TooManyBuckets | 400 | You have reached the maximum number of buckets. |
Server errors (5xx)
| Code | HTTP Status | Description |
|---|---|---|
InternalError | 500 | An internal error occurred. Retry the request. |
ServiceUnavailable | 503 | The service is temporarily unavailable. Check the Retry-After header. |
SlowDown | 503 | You are sending requests too quickly. Implement exponential backoff. |
Troubleshooting
SignatureDoesNotMatch -- The most common auth error. Check that:
- Your secret key is correct (re-copy from the dashboard if unsure).
- Your system clock is accurate (SigV4 requires clocks within 15 minutes of server time).
- You are using the correct region (
eu-west-1).
ServiceUnavailable (503) -- Transient. Retry with exponential backoff. If persistent, check status.fil.one.