Loading
Loading
Upload a CSV where each row is one record, and get one PDF per row in a single request. Ideal for monthly statements, payroll slips, and event tickets.
The Bulk PDF Generator API renders the template referenced by template_id once per CSV row. Each row comes back as its own PDF with its own hosted URL.
Authorize every request with your API key, passed either as a header or as a query parameter:
X-apiKeyapiKeyThis is version v1.0 of the API.
The following query parameters can be used in your API requests.
template_idrequiredStringThe template to render.
versionoptionalStringTemplate version to render, e.g. v2. Must start with v.
The request body is a CSV file uploaded as multipart/form-data in the file field. Each row is one record, and one PDF is generated per row.
{
"file": "/path/to/customers.csv"
}A successful request returns a 200 OK response with a JSON array of the same object as the single PDF Generator API - one entry per row, each with its own pdf_url.
template_id (String), pdf_url (String), created_at (String), expiration_time (String)
Besides the response body, every response carries custom headers you can use to track credit usage, and concurrency usage on endpoints that enforce a concurrency limit. See the Custom Response Headers documentation and the endpoints with concurrency limits for more details.
X-Concurrent-Threadsheaderconcurrency-limited endpointsSpecifies the maximum number of concurrent requests allowed.
X-Concurrent-Threads-Activeheaderconcurrency-limited endpointsIndicates the number of active concurrent requests being processed.
X-AF-Credits-Costheaderall responsesSpecifies the number of credits consumed by the current request.
See the HTTP Status Codes documentation for a complete reference of common API errors and HTTP status codes.
The template_id parameter is missing.
One or more required parameters are missing.
A query parameter is malformed or not recognized.
version does not start with 'v' (for example v2). Please provide a valid template version.
The request body is missing or empty.
The bulk endpoint received a file that is not a CSV.
The uploaded file or fetched data is larger than 10 MB.
Your account does not have access to this template.
No template matches the template_id.
The requested version does not exist.
The request Content-Type is not supported for this endpoint.
The request contains invalid or missing data.