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

ParameterTypeDefaultDescription
typestringallFilter by render type: pdf, screenshot, or og
statusstringallFilter by status: completed, failed, queued, or rendering
limitnumber50Results per page (max 100)
offsetnumber0Number of results to skip
signedbooleanfalseWhen 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

FieldDescription
typepdf, screenshot, or og
statuscompleted, failed, queued, or rendering
input_typehtml, url, or template
output_urlStorage path for the rendered file. Use the signed URL endpoint or ?signed=true to get a download link.
output_size_bytesSize of the rendered output in bytes
render_duration_msTime taken to render in milliseconds
error_messageError details if the render failed
request_idUnique 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

FieldTypeDefaultDescription
expiresInnumber3600URL 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:

PlanRetention
Free7 days
Starter30 days
Pro90 days
Business365 days

After the retention period, both the log entry and the stored output are automatically removed.