---
title: "Queue a large document"
method: POST
path: "/longjob"
tags: ["Convert"]
---

# Queue a large document

`POST /longjob`

## Request

- Base URL: `https://api.podpdf.com`
- URL: `https://api.podpdf.com/longjob`
- Auth: API key in header `X-API-Key`

Asynchronous rendering for HTML or Markdown up to 100 pages. The document is rendered
once at submission to count its pages, so this call can take nearly 30 seconds and
returns `400 PAGE_LIMIT_EXCEEDED` immediately when the document is too long.

## Request body

- object
  - `input_type` 'html' | 'markdown', required
  - `html` string
  - `markdown` string
  - `options` PdfOptions: Rendering options. `width`/`height` need `format: null`, which otherwise wins.
    - `format` 'A3' | 'A4' | 'A5' | 'Legal' | 'Letter' | 'Tabloid' | 'null', nullable
    - `margin` object
      - `top` string
      - `right` string
      - `bottom` string
      - `left` string
    - `printBackground` boolean
    - `scale` number
    - `landscape` boolean
    - `preferCSSPageSize` boolean
    - `width` string
    - `height` string
    - `pageRanges` string
    - `displayHeaderFooter` boolean
    - `headerTemplate` string
    - `footerTemplate` string
  - `webhook_url` string, uri: Validated but ignored; register webhooks through the dashboard.
  - `email_notification` boolean: false skips the "PDF ready" / "conversion failed" email for this job. Omit to follow the account's email settings; true cannot turn it on when job emails are off.
  - `pdf_standard` 'pdf/ua-1' | 'pdf/ua-2': **Alpha.** Make an accessible, tagged PDF that conforms to PDF/UA-1 (ISO 14289-1, PDF 1.7) or PDF/UA-2 (ISO 14289-2, PDF 2.0). For `input_type` `html` and `markdown` and for template renders; other inputs return 400. Leave it out for an ordinary PDF. PodPDF adds what the file itself needs (tags, language, title, metadata, link descriptions, artifacts for page furniture) and checks the result with veraPDF. What depends on your HTML stays yours: alt text on images, headings in order, header cells in tables. The check's verdict comes back in `X-PDF-Conformance` (or `conformance` in JSON). Built-in templates pass both standards.
  - `title` string: **Alpha.** With `pdf_standard`: the document title, shown by PDF readers. Defaults to the page's `<title>`, then its first heading. Ignored without `pdf_standard`.
  - `lang` string: **Alpha.** With `pdf_standard`: the document language as a language tag. Defaults to the page's `<html lang>`, then `en`. Ignored without `pdf_standard`.

## Response `202`

Queued

- object
  - `job_id` string
  - `status` string
  - `message` string
  - `estimated_completion` string, date-time: Always three minutes after submission; a placeholder, not an estimate.

## Other responses

- `400`: The request was invalid
- `401`: Missing or invalid API key
- `402`: `UPGRADE_REQUIRED` — the account has no plan yet
- `403`: `INSUFFICIENT_CREDITS`, `CONVERSION_TYPE_NOT_ENABLED`, `PDF_TOOLS_NOT_ENABLED`, `RATE_LIMIT_EXCEEDED` or `ACCOUNT_NOT_FOUND`. Note that a plan's rate limit is a 403, not a 429.
- `429`: Platform throttling, shared across accounts. Back off and retry with jitter.
- `500`: Rendering or the service failed

## Changes

- **2026-10-20** `84eb21f3ee27`: 3 info
  - added the new optional request property `lang`
  - added the new optional request property `pdf_standard`
  - added the new optional request property `title`

[Operation history](https://skmtc.dev/podpdf/apis/podpdf-api/changes/longjob/post.md)

---

[API](https://skmtc.dev/podpdf/apis/podpdf-api.md) · [All operations](https://skmtc.dev/podpdf/apis/podpdf-api/llms.txt) · [OpenAPI document](https://skmtc.dev/podpdf/apis/podpdf-api/revisions/84eb21f3ee27?raw)
