Skip to content
Developers

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.

Quickstart

First PDF in 60 seconds.

Four steps. No card. Your first template in production faster than your standup runs over.

  1. 1
    Create a free account and org.
    Pick your subdomain, invite your team.
  2. 2
    Upload a PDF or paste a Word doc.
    Mezdoc detects pages and renders them in the editor.
  3. 3
    Drag fields. Hit publish to staging.
    Snap, link, validate. Promote to production with a click.
  4. 4
    POST 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 } }'
Response201 Created · 1.2s
{
  "submission_id": "sub_01HW9XK7M3N...",
  "status": "processing",
  "webhook": "pdf.generation.completed"
}
API surface

A small API. Designed not to grow.

Templates
GET
/v1/templates
List templates in the active org.
POST
/v1/templates
Create a new template (structured or dynamic).
GET
/v1/templates/:alias
Fetch a single template by alias.
POST
/v1/templates/:alias/versions
Snapshot a new version.
POST
/v1/templates/:alias/versions/:v/publish
Publish a version to an environment.
Submissions
POST
/v1/templates/:alias/submissions
Submit data, get a rendered PDF.
GET
/v1/submissions/:id
Fetch submission status and metadata.
GET
/v1/submissions/:id/pdf
Download the generated PDF.
Workflows
POST
/v1/workflows/:alias/runs
Trigger a workflow run.
GET
/v1/runs/:id
Inspect a run, including per-step status.
GET
/v1/runs/:id/pdf
Download the merged packet PDF.
Webhooks
POST
/v1/webhooks
Register a webhook endpoint.
POST
/v1/webhooks/:id/test
Send a test event.
GET
/v1/deliveries
List delivery attempts with payloads.
Use it from anywhere

Postman, curl, OpenAPI.

Three ways to call Mezdoc from day one. Pick the one that fits how your team already works.

Postman collection

Import once, run every endpoint with sample bodies. The fastest way to explore the API.

Download collection
cURL and HTTP

Plain REST with bearer auth, idempotency keys, signed webhooks. No client library required.

See examples
OpenAPI spec
Coming on launch day

Generate your own client in any language. We publish the spec; you stay in control.

Download spec
Roadmap

Language 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.

TypeScriptPythonGoJavaRuby
Webhook events

Signed events your backend can trust.

submission.created
A new submission is queued.
pdf.generation.completed
A submission's PDF is rendered and uploaded.
pdf.generation.failed
A render failed. lastError contains the reason.
workflow.run.started
A workflow run kicked off.
workflow.run.completed
All steps finished. Packet is ready.
esign.envelope.signed
All signers completed. Signed PDF available.
esign.envelope.declined
A signer declined. Envelope is dead.
template.published
A template version was published.
org.member.invited
A member was invited to your org.

Read the full reference.

Open docsDownload Postman collectionOpenAPI specComing on launch day