Skip to content
DocInfra

Document conversion APIPublic Beta

Document conversion as infrastructure.

Not a converter you call and hope. A job pipeline with an audit trail, retries that never duplicate work, private short-lived storage and a contract that stays stable as capabilities are added.

Available now in Public Beta. Open to any workspace.

# Submit a conversion job

curl -X POST https://api.apidocinfra.com/v1/documents/convert \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: request_123" \
  -F "[email protected]" \
  -F "output_format=pdf"

Real endpoints and fields from the API contract. Replace the key and the file.

What makes it infrastructure

  • Jobs, not requests

    Every conversion is a job you can poll, subscribe to and find later by id. Nothing heavy ever runs inside the HTTP request.

  • Idempotent writes

    Repeating a request with the same Idempotency-Key returns the same job. Retries are free and safe.

  • Isolation by default

    Engines run in containers with no network egress; uploads are scanned before they are opened.

  • Append-only audit

    Received, scanned, converted, downloaded, deleted: each step with account, time and outcome.

  • Metered per workspace

    GET /v1/usage tells you what counted this month, and only successful work counts.

  • One API for what comes next

    AI Rewrite already runs on the same jobs; PDF tools, signatures and extraction will too.

A conversion, step by step

  1. 1

    Your app uploads the file with an API key and an Idempotency-Key; the API validates the type by content and stores the original.

  2. 2

    A worker claims the job, scans it, converts it and stores the result; each step leaves an audit entry.

  3. 3

    Your app polls the job or receives a signed webhook, downloads the result through a short-lived link, and the files are deleted after 24 hours.

Questions

What can I convert today?
DOCX and HTML to PDF, in public beta. The roadmap lists XLSX, PPTX, images, PDF/A and PDF tools.
How do you handle failures?
Transient errors are retried in place with backoff; permanent ones end the job with a stable error code and a fixed message, never the engine output.
Can I run it in my own cloud?
Private deployments are designed for and on the roadmap. Today the service runs as a managed public beta.