ON THIS PAGE
API Documentation
Integrate SendFiles.Online into your applications with our REST API.
Overview
The SendFiles.Online API allows you to programmatically create file transfers, upload files, and manage your transfers. All API access requires a Business or Enterprise plan.
https://sendfiles.online/api/v1/
All requests must be made over HTTPS. The API accepts JSON request bodies and returns JSON responses.
Authentication
Authenticate using your API key in the Authorization header:
Get your API key from your account dashboard. Keep your API key secret - don't share it or commit it to version control.
Create Transfer
Create a new transfer to get an upload URL.
POST /api/v1/transfers/
Request Body
| Parameter | Type | Description |
|---|---|---|
| message | string | Optional message for recipients |
| password | string | Optional password protection |
| expires_days | integer | Days until expiration (default: plan limit) |
| notify_email | string | Email to notify on download |
Example Request
Response
Upload File
Upload a file to an existing transfer. Use multipart/form-data.
POST /api/v1/transfers/{id}/upload/
Request Body (multipart/form-data)
| Parameter | Type | Description |
|---|---|---|
| file * | file | The file to upload |
Example Request
Response
Upload multiple files by making multiple requests to this endpoint.
Finalize Transfer
Finalize a transfer after uploading all files. This generates the download link.
POST /api/v1/transfers/{id}/finalize/
Example Request
Response
Get Transfer
Get details about a specific transfer.
GET /api/v1/transfers/{id}/
Example Request
Response
List Transfers
List all your transfers with pagination.
GET /api/v1/transfers/
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| per_page | integer | Items per page (default: 20, max: 100) |
| status | string | Filter by status: uploading, ready, expired |
Response
Delete Transfer
Delete a transfer and all its files.
DELETE /api/v1/transfers/{id}/
Example Request
Response
Webhooks
Receive notifications when events occur. Configure webhooks in your account settings.
Events
| Event | Description |
|---|---|
transfer.ready | Transfer finalized and ready for download |
transfer.downloaded | Someone downloaded the transfer |
transfer.expired | Transfer has expired |
Webhook Payload
Error Handling
The API uses standard HTTP status codes. Errors include a JSON body with details.
| Code | Description |
|---|---|
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Transfer doesn't exist |
413 | Payload Too Large - File exceeds plan limit |
429 | Too Many Requests - Rate limited |
500 | Server Error - Something went wrong |
Error Response
Rate Limits
API requests are rate limited per API key:
| Plan | Requests/minute | Requests/day |
|---|---|---|
| Business | 60 | 10,000 |
| Enterprise | 300 | 100,000 |
Rate limit headers are included in responses:
SDKs & Libraries
Official SDKs for popular languages:
Python
pip install sendfiles
Node.js
npm install sendfiles
PHP
composer require sendfiles/sdk
Python Example
Need Help?
Questions about the API? Contact our developer support or email api@sendfiles.online.