§ Read and verify
Validate PDF API
The only operation that runs in strict mode — every other endpoint uses relaxed validation, because real documents routinely bend the spec and refusing them would be unhelpful. A document that parses but fails strict validation still returns 200 with the verdict in the body; that is what a linter is for.
- Endpoint
- POST /pdf/validate
- Inputs
- Exactly 1 PDF
- Returns
- application/json
- Limits
- 20 MB per file.
- Price
- $0.001
§ 01 The request
One POST, and the file comes back.
POST /pdf/validate
curl -sS --fail-with-body \
-H "Authorization: Bearer $OHMYWRAP_KEY" \
-F "file=@generated.pdf" \
https://api.ohmywrap.com/pdf/validateOptions
None. Send the file and nothing else. An options object is still accepted, but any key inside it is 422 invalid_options.
Worth knowing
A document that cannot be read at all is 422 invalid_pdf, since there is nothing to report on.
Your first /pdf/validate call takes one line of curl.
Ten thousand calls cost ten dollars, the pack never expires, and nothing you send is kept.
10,000 calls for $10. No subscription, no expiry.