Documents, as a primitive.
A REST API your future self will thank you for. Idempotency keys, signed webhooks, scoped tokens, OpenAPI spec, and a Postman collection so you can try every endpoint in one click.
First PDF in 60 seconds.
Four steps. No card. Your first template in production faster than your standup runs over.
- 1Create a free account and org.Pick your subdomain, invite your team.
- 2Upload a PDF or paste a Word doc.Mezdoc detects pages and renders them in the editor.
- 3Drag fields. Hit publish to staging.Snap, link, validate. Promote to production with a click.
- 4POST your data. Get a PDF back.One HTTP call with an idempotency key. Webhook fires on completion.
curl https://api.mezdoc.com/v1/templates/coi_v3/submissions \
-H "Authorization: Bearer $MEZDOC_KEY" \
-H "Idempotency-Key: req_01HW" \
-d '{ "environment": "production", "data": { "policyholder_name": "Acme Logistics Pvt Ltd", "policy_number": "POL-2026-00481", "sum_insured": 1500000 } }'{
"submission_id": "sub_01HW9XK7M3N...",
"status": "processing",
"webhook": "pdf.generation.completed"
}A small API. Designed not to grow.
/v1/templates/v1/templates/v1/templates/:alias/v1/templates/:alias/versions/v1/templates/:alias/versions/:v/publish/v1/templates/:alias/submissions/v1/submissions/:id/v1/submissions/:id/pdf/v1/workflows/:alias/runs/v1/runs/:id/v1/runs/:id/pdf/v1/webhooks/v1/webhooks/:id/test/v1/deliveriesPostman, curl, OpenAPI.
Three ways to call Mezdoc from day one. Pick the one that fits how your team already works.
Import once, run every endpoint with sample bodies. The fastest way to explore the API.
Download collectionPlain REST with bearer auth, idempotency keys, signed webhooks. No client library required.
See examplesGenerate your own client in any language. We publish the spec; you stay in control.
Download specLanguage SDKs are next.
Until then, the REST API and the Postman collection cover every use case. Generated SDKs from our OpenAPI spec are coming for these languages, in this order.
Signed events your backend can trust.
submission.createdpdf.generation.completedpdf.generation.failedworkflow.run.startedworkflow.run.completedesign.envelope.signedesign.envelope.declinedtemplate.publishedorg.member.invited