Developer Portal
DocMorph API v1 — convert documents programmatically with signed webhooks and usage metering.
Authentication
All requests authenticate with an API key sent as api_key in the body or Authorization: Bearer <key>. Keys are tenant-scoped and carry least-privilege scopes. Create keys in the Integration Center.
Endpoint Reference
action: "formats"conversions:readList enabled conversion routes
action: "submit"conversions:writeEnqueue an async conversion job
action: "status"conversions:readRetrieve job status
action: "output"conversions:readRetrieve completed output
action: "cancel"conversions:writeCancel a queued job
action: "usage"usage:readRetrieve recent usage events
action: "webhooks.list"webhooks:manageList webhook endpoints
Every response carries correlation_id, api_version, and a rate_limit object. Long-running conversions are asynchronous — submit returns 202 with a job_id to poll.
Webhooks
Webhooks are HMAC-signed with a per-endpoint secret over {timestamp}.{body}. Headers: X-DocMorph-Signature and X-DocMorph-Timestamp. Replay protection rejects timestamps older than 5 minutes. Delivery retries with exponential backoff and auto-disables endpoints after 5 consecutive failures.
Error Catalog
Missing, invalid, or revoked API key
API key lacks the required scope or IP not allowed
Job or endpoint not found in the caller's tenant
Output not ready or endpoint not active
Missing required fields
Per-minute rate limit exceeded (see headers)
Test Console (Sandbox)
Try any action with an API key. Use a sandbox-labeled key — production documents are never touched here.
Versioning & Deprecation
The API is versioned (v1). Breaking changes ship under a new version; deprecated endpoints are supported for at least 90 days with a Sunset header. Rate limits default to 60 requests/minute per key, configurable per credential.