Filebase Objects API
Object upload, download, copy, delete, and metadata
Object upload, download, copy, delete, and metadata
openapi: 3.0.3
info:
title: Filebase IPFS Pinning Service Buckets Objects API
description: The Filebase IPFS Pinning Service API implements the vendor-neutral IPFS Pinning Service specification. Per-bucket Bearer tokens authenticate requests to list, add, retrieve, replace, and delete pinned objects by CID. Supports metadata tagging and filtering by CID, name, status, and timestamps. Compatible with IPFS Desktop, the IPFS CLI, and any third-party tool supporting the pinning service standard. Rate limit is 100 requests per second.
version: '1.0'
contact:
name: Filebase Support
url: https://filebase.com/
email: support@filebase.com
termsOfService: https://filebase.com/terms/
license:
name: Proprietary
url: https://filebase.com/terms/
servers:
- url: https://api.filebase.io/v1/ipfs
description: Filebase IPFS Pinning Service API
security:
- BearerAuth: []
tags:
- name: Objects
description: Object upload, download, copy, delete, and metadata
paths:
/{bucket}:
parameters:
- $ref: '#/components/parameters/bucket'
get:
operationId: listObjects
summary: List objects in a bucket
description: Returns some or all (up to 1,000) of the objects in a bucket. Use list-type=2 for ListObjectsV2.
tags:
- Objects
parameters:
- name: prefix
in: query
description: Limits the response to keys that begin with the specified prefix
schema:
type: string
- name: delimiter
in: query
description: A delimiter is a character you use to group keys
schema:
type: string
- name: marker
in: query
description: Specifies the key to start with when listing objects
schema:
type: string
- name: max-keys
in: query
description: Sets the maximum number of keys returned (default 1000)
schema:
type: integer
maximum: 1000
default: 1000
- name: list-type
in: query
description: Version 2 of list objects request (set to 2)
schema:
type: integer
enum:
- 2
- name: continuation-token
in: query
description: Indicates Amazon S3 that the list is being continued with a token (V2)
schema:
type: string
responses:
'200':
description: Successfully listed objects
content:
application/xml:
schema:
$ref: '#/components/schemas/ListBucketResult'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/{bucket}/{key}:
parameters:
- $ref: '#/components/parameters/bucket'
- $ref: '#/components/parameters/key'
copy:
operationId: copyObject
summary: Copy an object
description: Creates a copy of an object that is already stored in Filebase.
tags:
- Objects
parameters:
- name: x-amz-copy-source
in: header
required: true
description: Specifies the source bucket and key name (bucket/key)
schema:
type: string
responses:
'200':
description: Object copied successfully
content:
application/xml:
schema:
$ref: '#/components/schemas/CopyObjectResult'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: putObject
summary: Upload an object
description: Adds an object to a bucket. Objects are automatically pinned to IPFS for IPFS-backed buckets and receive 3x geo-redundant replication. The CID is returned in the x-amz-meta-cid response header.
tags:
- Objects
parameters:
- name: x-amz-meta-cid
in: header
description: IPFS CID of the uploaded object (response header)
schema:
type: string
requestBody:
required: true
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
'200':
description: Object uploaded successfully
headers:
ETag:
description: Entity tag (MD5 hash) of the uploaded object
schema:
type: string
x-amz-meta-cid:
description: IPFS CID of the uploaded object
schema:
type: string
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
get:
operationId: getObject
summary: Download an object
description: Retrieves an object from Filebase. Returns the object data.
tags:
- Objects
parameters:
- name: Range
in: header
description: Downloads the specified range bytes of an object
schema:
type: string
responses:
'200':
description: Object content
content:
application/octet-stream:
schema:
type: string
format: binary
headers:
Content-Type:
schema:
type: string
ETag:
schema:
type: string
x-amz-meta-cid:
description: IPFS CID of the object
schema:
type: string
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
head:
operationId: headObject
summary: Get object metadata
description: Retrieves metadata from an object without returning the object itself.
tags:
- Objects
responses:
'200':
description: Object metadata
headers:
Content-Type:
schema:
type: string
Content-Length:
schema:
type: integer
ETag:
schema:
type: string
x-amz-meta-cid:
description: IPFS CID of the object
schema:
type: string
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteObject
summary: Delete an object
description: Removes an object from a bucket.
tags:
- Objects
responses:
'204':
description: Object deleted successfully
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
bucket:
name: bucket
in: path
required: true
description: Name of the bucket
schema:
type: string
key:
name: key
in: path
required: true
description: Object key (file path within the bucket)
schema:
type: string
responses:
NotFound:
description: Resource not found
content:
application/xml:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Access denied
content:
application/xml:
schema:
$ref: '#/components/schemas/Error'
schemas:
CopyObjectResult:
type: object
xml:
name: CopyObjectResult
properties:
LastModified:
type: string
format: date-time
ETag:
type: string
ListBucketResult:
type: object
xml:
name: ListBucketResult
properties:
Name:
type: string
description: Bucket name
Prefix:
type: string
description: Limits the response to keys beginning with the specified prefix
MaxKeys:
type: integer
description: Maximum number of keys returned
IsTruncated:
type: boolean
description: Whether the results are truncated
Contents:
type: array
items:
type: object
properties:
Key:
type: string
LastModified:
type: string
format: date-time
ETag:
type: string
Size:
type: integer
format: int64
StorageClass:
type: string
Error:
type: object
xml:
name: Error
properties:
Code:
type: string
Message:
type: string
Resource:
type: string
RequestId:
type: string
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Per-bucket Bearer token for authentication
externalDocs:
description: Filebase IPFS Pinning Service API Documentation
url: https://filebase.com/docs/ipfs/pinning-service-api