ZenTransfer is designed to be straightforward, efficient, and also developer-friendly. Here's how you can interact with ZenTransfer's API:
Authentication
Before accessing ZenTransfer's resources, you'll need an authentication token:
- You can find the Client ID and Secret Key in your Dashboard
- Make a POST request to /oauth/token with your client_id and client_secret.
- Receive your Bearer token in response.
Here's a quick example:
POST /oauth/token
Content-Type: application/json
{
"client_id": "your_client_id",
"client_secret": "your_client_secret"
}
Response:
{
"access_token": "your_bearer_token",
"token_type": "Bearer",
"expires_in": 3600
}
Accessing Files
Once authenticated, use the token in the Authorization header for all subsequent API requests:
GET /api/files
Authorization: Bearer <your_bearer_token>
This endpoint allows you to:
- Retrieve a list of your files
- Implement pagination using parameters:
o
: offset (starting point)l
: limit (number of files per request)- Filter files using the
since
parameter to fetch only files added after a specific ISO datetime:
GET /api/files?since=2025-04-09T00:00:00Z&o=0&l=20
Authorization: Bearer <your_bearer_token>
File Records
The /api/files
endpoint returns an array of file objects. Each file object contains the following properties:
{
"created": "2025-04-09T14:09:14.394604+00:00", // ISO timestamp when the file was created
"id": "CuUa7SXRqBLQin6Rvy8Ezp", // Unique identifier for the file
"mime_type": "image/png", // MIME type of the file
"modified": "2025-04-09T14:09:14.394605+00:00", // ISO timestamp of last modification
"name": "logo.png", // Original filename
"size": 5244, // File size in bytes
"thumbnail_url": "https://.../a/.../thumbnail", // URL to access the thumbnail
"url": "https://.../a/...", // URL to access the file
}
The structure may contain other fields which may or may not be useful and they may change frequently. We recommend only using the documented fields in integrations.
Monitoring for new files
To access and download new files as they arrive with the API, keep the created
field from the last record you received. Then use the since
parameter with this value when you poll the /api/files
endpoint.
Please keep polling to sensible intervals; the server is currently not applying rate limits. We will implement reasonable rate limits at some point in the future.
ZenTransfer is designed to push events when new files arrive. We therefore strongly recommend that you use Zapier if you need instant notifications of new files - ZenTransfer will push events to Zapier. We will implement support for custom webhooks if requested - see our roadmap.
For interactive monitoring, don't forget ZenTransfer's Monitor on your dashboard. This is an event driven architecture and will immediately display new files being processed in the system.
Ready to build amazing integrations? Dive in and explore!
What do you think?
Your thoughts help us improve our product and serve you better. Please take a moment to share your thoughts and ideas on how we can improve.