LogoLogo
Developer API
QS Framework
QS Framework
  • Introduction
  • Session API
  • Upload API
  • Chats API
  • Wallet Verification API
  • Real Time Events
Powered by GitBook

Social Media

  • X

@2025 Quick Sync

On this page

Upload API

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

PreviousSession APINextChats API

Last updated 1 month ago

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.

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
Responses
200
Success
get
GET /v1/buckets HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Success

[
  {
    "creatorId": "text",
    "completed": true,
    "fileKey": "text",
    "fileName": "text",
    "totalParts": 1,
    "originalSizeInBytes": 1
  }
]

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
Header parameters
partNumberinteger · int32Optional
keystringOptional
uploadIdstringOptional
Responses
200
Success
put
PUT /v1/buckets HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Success

{
  "tag": "text",
  "partNumber": 1
}

Remove a file from the bucket

delete

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

Authorizations
Path parameters
fileIdstringRequired
Responses
200
Success
delete
DELETE /v1/buckets/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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
Path parameters
fileIdstringRequired
Responses
200
Success
get
GET /v1/buckets/file/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Success

{
  "creatorId": "text",
  "completed": true,
  "fileKey": "text",
  "fileName": "text",
  "totalParts": 1,
  "originalSizeInBytes": 1
}

Get a downloadable link for a file.

get

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

Authorizations
Path parameters
fileIdstringRequired
Responses
200
Success
get
GET /v1/buckets/download/{fileId} HTTP/1.1
Host: api.quicksync.me
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Success

{
  "url": "text"
}
  • GETRetrieve all files in the user's storage bucket
  • POSTStart a new file upload
  • PUTUpload a file part for multipart upload
  • POSTFinalize a multipart file upload.
  • DELETERemove a file from the bucket
  • GETGet metadata for a specific file.
  • GETGet a downloadable link for a file.

Start a new file upload

post

Initiates a multipart upload request to the user's storage bucket. Returns necessary upload details including an uploadId.

Authorizations
Body
totalPartsinteger · int32Optional
encryptedNamestring | nullableOptional
originalSizeInBytesinteger · int64Optional
Responses
200
Success
post
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
}
200

Success

{
  "uploadId": "text",
  "fileKey": "text"
}

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
Body
tagsstring[] | nullableOptional
keystring | nullableOptional
Responses
200
Success
post
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"
}
200

Success

{
  "uploadId": "text",
  "fileKey": "text"
}