API Documentation

Integrate with our API to manage transfers and files programmatically.

API Status: Online Version 1.0

Base URL

All API requests should be made to the following base URL:

api/

Authentication

All API requests require authentication using an API key. Include your API key in the Authorization header of every request.

Authorization: Bearer YOUR_API_KEY

You can find or regenerate your API key on the API settings page.

GET

List Transfers

Retrieve a paginated list of your transfers.

GET /api/transfers?page=1&results_per_page=25

Example Response

{
  "data": [
    {
      "id": 1,
      "name": "My Transfer",
      "description": "",
      "is_enabled": true,
      "datetime": "2025-01-15 12:00:00"
    }
  ],
  "meta": {
    "page": 1,
    "total": 10,
    "total_pages": 1
  }
}
POST

Create Transfer

Create a new transfer. Files must be uploaded first using the file upload endpoint.

POST /api/transfers

Parameters

Parameter Type Required Description
name string Optional Transfer title
description string Optional Transfer description or message
uploaded_files[] array Required Array of file UUIDs from file upload
password string Optional Password to protect the transfer
expiration_datetime string Optional Expiration date (YYYY-MM-DD HH:MM:SS)

Example Request

curl -X POST "api/transfers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Project Files",
    "description": "Latest build assets",
    "uploaded_files": ["uuid1", "uuid2"]
  }'
GET

Get Transfer

Retrieve details of a specific transfer by its ID.

GET /api/transfers/{transfer_id}

Example Response

{
  "data": {
    "id": 1,
    "name": "Project Files",
    "description": "Latest build assets",
    "url": "https://example.com/t/abc123",
    "is_enabled": true,
    "views": 42,
    "total_downloads": 15,
    "files_count": 2,
    "datetime": "2025-01-15 12:00:00",
    "expiration_datetime": null
  }
}
DELETE

Delete Transfer

Permanently delete a transfer and all associated files.

DELETE /api/transfers/{transfer_id}

Example Request

curl -X DELETE "api/transfers/1" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "success",
  "message": "Transfer deleted successfully."
}
POST

Upload File

Upload a file (or file chunk) to be attached to a transfer. For large files, upload in chunks and reference the same UUID across all chunks.

POST /api/files

Parameters (multipart/form-data)

Parameter Type Required Description
file binary Required The file or chunk to upload
uuid string Required Unique identifier for the file
file_name string Required Original file name
chunk_index integer Required Index of the current chunk (0-based)
total_chunks integer Required Total number of chunks
total_file_size integer Required Total file size in bytes

Example Request

curl -X POST "api/files" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@document.pdf" \
  -F "uuid=abc123def456" \
  -F "file_name=document.pdf" \
  -F "chunk_index=0" \
  -F "total_chunks=1" \
  -F "total_file_size=1048576"

Error Handling

The API uses standard HTTP status codes and returns errors in a consistent JSON format:

{
  "status": "error",
  "message": "Description of what went wrong."
}

Status Codes

200 Request succeeded
400 Bad request - missing or invalid parameters
401 Unauthorized - invalid or missing API key
404 Resource not found
429 Rate limit exceeded

Need help with the API?

Our support team is happy to help you integrate.

Contact support