Validating a document
POST /v1/validate renders a document and tells you what the service did not fully
support, without returning the PDF and without using a credit. It takes the same
fields as render, except output.
curl -X POST https://api.example.com/v1/validate \ -H "Authorization: Bearer $RUSTEDF_KEY" \ -H "Content-Type: application/json" \ -d '{ "template_id": "0194f2c0-…", "data": { "number": "2025-0042" } }'{ "ok": false, "pages": 1, "diagnostics": [ { "kind": "UnsupportedProperty", "text": "filter", "context": "inside <p class=\"note\">", "count": 2 } ]}ok is true when there is nothing to report. count says how many identical occurrences
an entry stands for. Validation counts against your plan’s request rate, like any call.
The portal runs the same check from the template editor.
What is reported
Section titled “What is reported”kind |
Meaning |
|---|---|
UnsupportedTag |
An HTML element the service does not know. |
UnsupportedProperty |
A CSS property that is not supported. |
UnsupportedSelector |
A selector that is not supported, such as :hover. |
UnsupportedValue |
A supported property with a value it cannot use. |
UnsupportedAtRule |
An at-rule such as @font-face or @import. |
MalformedDeclaration |
A CSS declaration that could not be parsed. |
LayoutOverflow |
A fixed-size box taller or wider than the page, or content painted outside it. |
ImageLoadFailed |
An image that could not be used: not an asset of yours, not a data: URL, unreadable, or too large. |
TextShapingFailed |
Text in a script that no available font covers. |
VariableFontStyles |
The family is a variable font; only its regular style is used. See Fonts. |
None of these stops a render by default. Use strict to turn them into errors, for example
in your tests.