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.
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.
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.
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.
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.
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.
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.
GET /v1/buckets/download/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Success
{
"url": "text"
}
Last updated