template and data, and returns the document bytes directly.
Synchronous: the response body is the finished PDF (
application/pdf). No job, no polling.Headers
Bearer tipar_live_<key>. See Authentication.application/json.Body
The template document. Has a single key,
page, describing the document. See Template basics and the full schema.The data the template interpolates against. Any JSON object. Every
{{path}} in the template must resolve here.Request body
Response
The rendered PDF, as raw bytes. There is no JSON wrapper — write the body straight to a file or stream it to your client.
Errors
| Status | code | When |
|---|---|---|
400 | — | Malformed JSON, a missing/unknown node type, or a body that omits template. |
401 | — | Missing, malformed, or revoked API key. Carries WWW-Authenticate: Bearer. |
402 | quota.exceeded | Plan’s monthly document quota is reached. |
413 | — | Request body exceeds 4 MB. |
422 | template.* | Template is well-formed JSON but unusable — structural error, missing data, or a render failure. |
429 | rate_limit.exceeded | More than 60 req/min (burst 120) on this key. Carries Retry-After. |
422 template.* code and example bodies — is on the errors page.
Full example
A complete invoice request, in a few languages:template + data pair to drop in.