Quickstart
Emboss turns a flat PDF into a filled one. You upload a form plus some context about who it's for, Emboss detects the fields, fills them, and hands you back a finished PDF. The whole loop is three HTTP calls.
Every request is authenticated with a Bearer key:
Authorization: Bearer sk_live_yourkey
Your first 5 forms each month are free. Keys are issued via the Emboss CLI today — see Authentication.
1. Upload the form with context
Send the PDF and a blob of context to POST /forms/with-context. This kicks
off detection + fill as a background job and returns a job_id immediately.
curl -X POST https://api.getemboss.ai/forms/with-context \
-H "Authorization: Bearer sk_live_yourkey" \
-F "file=@./w9.pdf" \
-F 'context={"name":"Ada Lovelace","business":"Analytical Engines LLC","ein":"12-3456789"}'
{ "job_id": "job_8f2c", "status": "queued" }
2. Poll the job
The job runs asynchronously. Poll GET /forms/with-context/{job_id} until
status is done. When it finishes you get back a session_id and a short
report of what was filled.
curl https://api.getemboss.ai/forms/with-context/job_8f2c \
-H "Authorization: Bearer sk_live_yourkey"
{ "status": "done", "session_id": "sess_a1b2", "report": "Filled 14 of 16 fields." }
3. Download the filled PDF
Fetch the rendered document from GET /sessions/{id}/pdf. The response body is
the raw %PDF bytes.
curl https://api.getemboss.ai/sessions/sess_a1b2/pdf \
-H "Authorization: Bearer sk_live_yourkey" \
-o filled.pdf
That's the full path: upload → poll → download. From here you can inspect the detected-fields contract, fill from context documents, or drive a conversational fill.