From the ZenTransfer Blog

Getting Started with ZenTransfer's API

Here's everything you need to know to get started with ZenTransfer's API.

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!