Links

S3-Compatible API

Learn about Filebase’s S3-compatible API for seamless integration with existing data management tools and frameworks.
Filebase’s S3-compatible API can be used by several standardized S3-compatible frameworks, tools, clients, and SDKs to manage data stored through Filebase.
Filebase has certified several of these tools for use with the platform. Filebase certification consists of putting software tools through testing procedures to validate conformity with the Filebase S3-compatible API.

API Endpoint

The Filebase S3-compatible API endpoint URL is:
https://s3.filebase.com

Authentication

The Filebase S3-compatible API only supports AWS v4 signatures (AWS4-HMAC-SHA256) for authentication and does not support AWS v2 signatures at this time. To learn more about S3 authentication, see this article.

HTTPS Protocol

Filebase maintains a strict HTTPS-only standard. This means objects and API calls are served only via HTTPS. The port for this connection is the HTTPS standard port 443.
It is not possible to disable this at this time. Requests sent via the HTTP protocol will be redirected to HTTPS.

Rate Limit

The Filebase S3 API has an effective rate limit of 100 RPS (requests per second).

Supported API Methods

The list below documents Filebase's currently supported S3 API methods.
Cancels a multipart upload. Once aborted, the upload is canceled and no additional parts can be uploaded using the original upload ID. Any of the parts that were uploaded prior to the cancellation will be deleted.
Completes a previously initiated multipart upload by assembling previously uploaded parts.
Used to create a duplicate copy of an existing object. This method is currently disabled.
Creates a new Filebase bucket. By default, this bucket is created on the IPFS network.
Initiates a multipart upload which returns a unique upload ID value. This ID value is used to identify all parts of the multipart upload.
Removes the specified bucket from Filebase. The bucket must be empty before it can be removed.
Removes the current CORS policy set on the specified Filebase bucket.
Removes an object from being stored on Filebase.
Returns the specified bucket’s currently configured access control list.
Returns the specified bucket’s current CORS policy.
Returns the specified bucket’s current lifecycle configuration.
Returns the specified bucket’s current lifecycle configuration.
Returns the region of the specified bucket.
Returns the current logging status of the specified bucket.
Returns the current versioning state of the specified bucket.
Retrieves the specified object(s) from Filebase.
Retrieves the current access control list configuration for the specified object.
Used to determine if the specified bucket exists.
Used to determine if the specified object exists.
Lists all current buckets on your Filebase account.
Lists all current objects within the specified bucket. Maximum return of 1,000 objects.
Lists all current objects within the specified bucket. Maximum return of 1,000 objects. The newest version of ListObjects, and recommended for new workflows.
Used to configure the access control list permissions on the specified bucket.
Used to configure the CORS policy on the specified bucket.
Used to upload an object to the specified bucket.
Used to configure the access control list permissions on the specified object.
Used to upload a part from a multipart upload using the upload’s unique ID value.
When a response payload is present, all responses are returned using UTF-8 encoded XML.

Pre-signed URLs

The Filebase S3-compatible API supports pre-signed URLs for downloading and uploading objects. Pre-signed URLs can be generated in a number of ways including the AWS CLI and the AWS SDKs.
For more information on Pre-signed URLS, see our guide here.

Access Control Lists (ACLs)

The Filebase S3-compatible API features limited support for Access Control Lists (ACLs). Object-level ACLs are currently not supported.
The GetObjectAcl and GetBucketAcl methods will work as expected, but the GetObjectAcl response will return the ACL of the bucket that the object is contained in.
This design eliminates the possibility of a user accidentally making an object public within a private bucket. If a mix of private and public objects is required for your workflow, you can simply create two different buckets.
For information on how to create a Filebase bucket, see here.
If you have any questions, please join our Discord server, or send us an email at [email protected]