Upload API

API for session storage with a simplified interface for uploading and managing content on IPFS storage

This page provides comprehensive documentation for the Upload API, which offers a simplified interface for uploading and managing content on IPFS (InterPlanetary File System) storage. Inspired by the widely adopted S3 API, this interface aims to provide a familiar experience for developers while leveraging the benefits of decentralized storage. By abstracting the underlying complexity of IPFS, the API allows for seamless integration into existing workflows with minimal learning curve.

The maximum upload size and related limitations are governed by the rules defined for each session

Retrieve all files in the user's storage bucket

get

Returns a list of files currently stored in the authenticated user's bucket. Useful for listing uploaded content.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Responses
200

Success

get
/buckets
200

Success

Start a new file upload

post

Initiates a multipart upload request to the user's storage bucket. Returns necessary upload details including an uploadId. For using with QS Share, encryptedName should be encrypted using AES256 with the session ID as key

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Body
totalPartsinteger · int32Optional
encryptedNamestring | nullableOptional
originalSizeInBytesinteger · int64Optional
Responses
200

Success

post
/buckets
200

Success

Upload a file part for multipart upload

put

Uploads a specific part of a file during a multipart upload. Requires uploadId, partNumber, and key to identify the upload session and part.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

AuthorizationstringRequired

Bearer schema token issued by wallet verification.

X-API-KEYstringRequired

API key issued for beta developers for creating/joining sessions.

Header parameters
partNumberinteger · int32Optional
keystringOptional
uploadIdstringOptional
Responses
200

Success

put
/buckets
200

Success

Finalize a multipart file upload.

post

Completes a multipart file upload by combining previously uploaded parts. Requires the uploadId and associated metadata to finalize the upload.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Body
tagsstring[] | nullableOptional
keystring | nullableOptional
Responses
200

Success

post
/buckets/complete
200

Success

Remove a file from the bucket

delete

Permanently deletes a file from the user's storage bucket using its unique fileId.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Path parameters
fileIdstringRequired
Responses
200

Success

No content

delete
/buckets/{fileId}
200

Success

No content

Get metadata for a specific file.

get

Retrieves detailed metadata about a single file using its fileId, such as file size, name, upload status, and more.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Path parameters
fileIdstringRequired
Responses
200

Success

get
/buckets/file/{fileId}
200

Success

Get a downloadable link for a file.

get

Generates a temporary pre-signed download URL for the specified file.

Authorizations
AuthorizationstringRequired

Bearer schema token issued by session credentials

Path parameters
fileIdstringRequired
Responses
200

Success

get
/buckets/download/{fileId}
200

Success

Last updated