Filebase Platform APIs
Learn about how to use the Filebase Platform APIs.
Filebase Platform APIs
The Filebase Platform API is a general purpose API that can be used to manage various Filebase resources. These resources include storage usage, bandwidth usage, IPNS names, and dedicated gateways.
Request Body Schema: application/json
Authorization
Authorization: Bearer <access-token>
To generate the access-token
, start by retrieving your Filebase Access Key and Secret Access Key pair.
Then, navigate to Base64Encode and input the following information:
ACCESS-KEY:SECRET-KEY
Then select 'Encode' and copy the result:

Total Storage and Recent Bandwidth (Past 24 Hours) Usage API
Used to generate reports on a user's current storage in bytes across all buckets. This API also returns information regarding the user's bandwidth usage over the last 24 hours.
Payload
Request Body Schema: application/json
List current storage across all buckets and all bandwidth usage in the last 24 hours.
GET
https://api.filebase.io/v1/usage
This API can be used to generate a report that provides information on the user's current storage across all buckets, and all bandwidth usage within the last 24 hours.
{
"storage": {
"bytes": 4977622511155
},
"bandwidth": {
"bytes": 0
}
}
Total Storage for a Specific Bucket API
Used to generate reports on a user's current storage in a specific bucket.
Payload
Request Body Schema: application/json
List current storage usage in bytes for a specific bucket.
GET
https://api.filebase.io/v1/usage/storage/<bucket-name>
This API can be used to generate a report that provides information on the user's current storage across a specific bucket.
Path Parameters
bucket-name*
String
A Filebase bucket name.
{
"storage": {
"bytes": 1251576869
}
}
Bandwidth Usage For an IPFS Dedicated Gateway API
Used to generate a usage report of a dedicated IPFS gateway over the last 24 hours.
Payload
Request Body Schema: application/json
List bandwidth usage for an IPFS dedicated gateway.
GET
https://api.filebase.io/v1/usage/gateway/<gateway-name>
This API reports bandwidth usage over the last 30 days by default for a specific IPFS dedicated gateway. The date range can be modified using query string parameters.
Path Parameters
gateway-name*
String
A Filebase IPFS dedicated gateway name.
Query String Parameters
start
String
Beginning timestamp of usage data
end
String
End timestamp of usage data
Example URL
http://api.filebase.io/v1/usage/gateway/my-gateway?start=2023-06-10T12:24:34.043Z&end=2023-06-21T12:24:34.043Z5
{
"gateway": {
"bytes": 620424
}
}
Gateways
This set of APIs can be used to manage dedicated IPFS gateways.
List gateways
GET
https://api.filebase.io/v1/gateways
Returns a list of all Dedicated IPFS Gateways
[
{
"name": "gateway123",
"domain": null,
"private": false,
"created_at": "2023-02-14T11:24:39.298-05:00",
"updated_at": "2023-02-14T11:24:39.298-05:00",
"enabled": true
},
{
"name": "gateway1234",
"domain": null,
"private": false,
"created_at": "2023-02-14T11:25:11.893-05:00",
"updated_at": "2023-02-14T11:25:11.893-05:00",
"enabled": true
},
{
"name": "gateway123223",
"domain": null,
"private": false,
"created_at": "2023-02-14T11:54:31.926-05:00",
"updated_at": "2023-02-14T11:54:31.926-05:00",
"enabled": true
}
]
Return details of a specific gateway
GET
https://api.filebase.io/v1/gateways/<gateway-name>
Response returns details for the specified gateway.
{
"name": "test-josh555567778",
"private": false,
"enabled": true
}
Create a dedicated gateway
POST
https://api.filebase.io/v1/gateways
Allows a user to create a dedicated gateway.
Example JSON Body Payload:
Request Body
name*
String
The name of the gateway. The name restrictions here match bucket names, 3..63 characters, must be globally unique. If a bucket name is already taken, a HTTP 409 Conflict will be returned with a message.
private
Boolean
False by default. This controls whether the gateway is public (can fetch any IPFS content) or private (can only fetch content that you've pinned).
enabled
Boolean
True by default. This controls whether a gateway is actually functional. A user can disable a gateway to prevent it from serving content.
Update a gateway
PUT
https://api.filebase.io/v1/gateways/<gateway-name>
Allows a user to update the configuration of a gateway.
Request Body
private
Boolean
False by default. This controls whether the gateway is public (can fetch any IPFS content) or private (can only fetch content that you've pinned).
enabled
Boolean
True by default. This controls whether a gateway is actually functional. A user can disable a gateway to prevent it from serving content. This will keep the gateway created, but transition it into a non-functional state. The only real use case here (so far) is to let a user pause a gateway temporarily without having to give up the name.
{
// Response
}
Delete a gateway
DELETE
https://api.filebase.io/v1/gateways/<gateway-name>
No body payload required. Allows a use to delete a dedicated gateway. Upon deletion, the gateway will no longer be functional and it will stop serving content.
{
// Response
}
Names
This set of APIs can be used to manage IPNS name records.
List Names
GET
https://api.filebase.io/v1/names
```json
[
{
"enabled": true,
"label": "ocean",
"network_key": "k51qzi5uqu5dljhjh797be563mf1dnodaued1v68zacnmfxarkfsitboa3gkrx",
"cid": "QmZ3BYWSc1wHfMpXfXkLnctS7ABvNZYMECdbP6q68Ld18f",
"sequence": 1,
"published_at": "2023-12-19T15:00:08.384-05:00",
"created_at": "2023-12-07T16:01:46.222-05:00",
"updated_at": "2023-12-09T10:48:00.803-05:00"
}
]
```
Return details of a specific name record
GET
https://api.filebase.io/v1/names/<label>
Path Parameters
label*
String
Label of name record
```json
{
"enabled": true,
"label": "ocean",
"network_key": "k51qzi5uqu5dljhjh797be563mf1dnodaued1v68zacnmfxarkfsitboa3gkrx",
"cid": "QmZ3BYWSc1wHfMpXfXkLnctS7ABvNZYMECdbP6q68Ld18f",
"sequence": 1,
"published_at": "2023-12-19T15:00:08.384-05:00",
"created_at": "2023-12-07T16:01:46.222-05:00",
"updated_at": "2023-12-09T10:48:00.803-05:00"
}
```
Create a name
POST
https://api.filebase.io/v1/names
Request Body
label*
String
Label used to identify the name
cid*
String
CID for the name record
```json
{
"enabled": true,
"label": "mouse1",
"network_key": "k51qzi5uqu5dijyeugm3dqe7odqj6s1h2pqp8toc1toy7j9bdyig6x8nzjd890",
"cid": "bafybeieszr5kq4w7qdd4lujsje2uqwt76nlf3s4en6xc7q5hqpda5de3xy",
"sequence": 1,
"published_at": null,
"created_at": "2023-12-19T16:44:44.052-05:00",
"updated_at": "2023-12-19T16:44:44.052-05:00"
}
```
Update a name
PUT
https://api.filebase.io/v1/names/<label>
Request Body
label
String
Label used to identify the name
cid
String
CID for the name record
Delete a name record
DELETE
https://api.filebase.io/v1/names/<label>
Last updated
Was this helpful?