Render Log
Every render you make through the API is logged. You can retrieve your render history programmatically, filter it, and download past outputs.
List Renders
GET /api/v1/renders
Returns a paginated list of your renders, most recent first.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
type | string | all | Filter by render type: pdf, screenshot, or og |
status | string | all | Filter by status: completed, failed, queued, or rendering |
limit | number | 50 | Results per page (max 100) |
offset | number | 0 | Number of results to skip |
signed | boolean | false | When true, output_url fields contain time-limited signed URLs instead of storage paths |
Example
curl "https://pixdoc.dev/api/v1/renders?type=pdf&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"id": "a1b2c3d4-...",
"type": "pdf",
"status": "completed",
"input_type": "html",
"options": {},
"output_url": "https://...",
"output_size_bytes": 16590,
"render_duration_ms": 1234,
"error_message": null,
"request_id": "req_abc123",
"created_at": "2026-03-26T12:00:00Z"
}
],
"pagination": {
"total": 87,
"limit": 10,
"offset": 0
}
}
Response Fields
| Field | Description |
|---|---|
type | pdf, screenshot, or og |
status | completed, failed, queued, or rendering |
input_type | html, url, or template |
output_url | Storage path for the rendered file. Use the signed URL endpoint or ?signed=true to get a download link. |
output_size_bytes | Size of the rendered output in bytes |
render_duration_ms | Time taken to render in milliseconds |
error_message | Error details if the render failed |
request_id | Unique request identifier for debugging |
Downloading Outputs
The output_url field contains a storage path, not a direct download link. To download a rendered file, generate a signed URL using the endpoint below or pass ?signed=true when listing renders.
# List renders with signed download URLs
curl "https://pixdoc.dev/api/v1/renders?signed=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Render outputs are retained based on your plan's retention period. Free plans retain outputs for 7 days, paid plans for 30 days or more.
Signed URLs
Generate time-limited download links for render outputs. Signed URLs can be safely shared with end users without exposing your API key.
POST /api/v1/renders/{id}/signed-url
Request Body
| Field | Type | Default | Description |
|---|---|---|---|
expiresIn | number | 3600 | URL lifetime in seconds (min 60, max 7776000) |
Example
curl -X POST "https://pixdoc.dev/api/v1/renders/a1b2c3d4-.../signed-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"expiresIn": 3600}'Response
{
"success": true,
"data": {
"signed_url": "https://...",
"share_url": "https://pixdoc.dev/api/share/a1b2c3d4-...",
"expires_at": "2026-03-28T13:00:00Z"
}
}
The share_url is a proxy link that can be safely shared with third parties. It supports revocation — you can revoke access anytime from the Shared Links page in the dashboard.
Use share links to let third parties download invoices, receipts, or reports without needing an API key. Links can be revoked anytime and expire automatically.
Retention
Render log entries and their associated output files are retained based on your plan:
| Plan | Retention |
|---|---|
| Free | 7 days |
| Starter | 30 days |
| Pro | 90 days |
| Business | 365 days |
After the retention period, both the log entry and the stored output are automatically removed.