Skip to content

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.

Terminal window
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.

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.