Guides · use case
Send invoices your customers can fill in
Plenty of invoices are not final documents — they go out with blanks the customer completes: a purchase-order number, an approver's name, payment notes. The usual ways to produce that are a PDF library and coordinate arithmetic, or a Word template someone maintains by hand next to the real billing code.
If your billing app already shows the invoice as an HTML page, you can skip both. Put the blanks on the page as ordinary <input> fields, render it with pdf_forms, and the returned PDF keeps them as typeable fields — pre-filled amounts carried over, recipient's blanks left blank:
curl -X POST https://snapdok.io/v1/render \
-H "Authorization: Bearer $SNAPDOK_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-app.com/invoices/1042","format":"pdf","pdf_forms":true,"pdf_form_only":true}' \
--output invoice.pdfpdf_form_only strips your app's navigation so the customer receives an invoice, not a screenshot of your dashboard. The 24-hour cache means re-sending the same invoice costs nothing extra.
Free keys need no card and include a monthly allowance — get one and try it on your own form. The docs list exactly which controls convert and how edge cases are handled.