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.
This API is currently under active development and may be subject to changes. We recommend reviewing the documentation regularly and subscribing to updates to stay informed about any modifications, deprecations, or new features that may affect your integration.
Returns a list of files currently stored in the authenticated user's bucket. Useful for listing uploaded content.
Success
GET /v1/buckets HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
[
{
"creatorId": "text",
"completed": true,
"fileKey": "text",
"fileName": "text",
"totalParts": 1,
"originalSizeInBytes": 1
}
]
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
Success
POST /v1/buckets HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"totalParts": 1,
"encryptedName": "text",
"originalSizeInBytes": 1
}
Success
{
"uploadId": "text",
"fileKey": "text"
}
Uploads a specific part of a file during a multipart upload. Requires uploadId, partNumber, and key to identify the upload session and part.
Success
PUT /v1/buckets HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
{
"tag": "text",
"partNumber": 1
}
Completes a multipart file upload by combining previously uploaded parts. Requires the uploadId and associated metadata to finalize the upload.
Success
POST /v1/buckets/complete HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 30
{
"tags": [
"text"
],
"key": "text"
}
Success
{
"uploadId": "text",
"fileKey": "text"
}
Permanently deletes a file from the user's storage bucket using its unique fileId.
Success
No content
DELETE /v1/buckets/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
No content
Retrieves detailed metadata about a single file using its fileId, such as file size, name, upload status, and more.
Success
GET /v1/buckets/file/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
{
"creatorId": "text",
"completed": true,
"fileKey": "text",
"fileName": "text",
"totalParts": 1,
"originalSizeInBytes": 1
}
Generates a temporary pre-signed download URL for the specified file.
Success
GET /v1/buckets/download/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
{
"url": "text"
}
Last updated