- An AwaitVerify API key.
- A Python script that uploads a document and waits for a human to verify the extraction.
- That extraction flowing back into your code as a typed Pydantic instance.
1. Install the extras
awaitverify extra adds Pillow (raster image handling), pdf2image (PDF rasterization), and cryptography (client-side AES-256-GCM encryption). The base awaithumans package stays lightweight; you only opt into these when you use AwaitVerify.
For Flow B (the SDK runs an extractor on your machine first), add the provider extra too:Full provider list →
2. Get an API key
Sign in at app.awaithumans.dev, open the API keys page, click Create key. Copy theah_sk_live_... value once; you can’t see it again.
Set it as an environment variable:
3. Define your response shape
The reviewer is going to fill out a form that matches your Pydantic schema. Define what you want back:BaseModel becomes a section. Anything that’s a list[BaseModel] becomes a spreadsheet-style editable table on the reviewer’s dashboard. Schema patterns →
4. Call verify_document
verify_document() is async; the SDK long-polls the managed backend until the reviewer submits. For a synchronous flow, wrap the call:
5. The reviewer’s side
The moment your script hits the managed backend, the task lands in our reviewer dashboard:- A reviewer opens the task.
- They see the document fragments (five masked views per page, decrypted and streamed through our proxy on demand).
- The form is pre-filled if you supplied
prior_extraction=orextraction=; otherwise it’s blank. - They edit cells, add rows, correct what the model got wrong, and click Submit.
verify_document() call returns the typed Invoice instance with the reviewer’s corrections.
6. Multi-page documents
PDFs, multi-page TIFF, and Office docs (DOCX, XLSX, PPTX via LibreOffice) all work without extra config. The SDK detects the page count, rasterizes at 300 DPI, and uploads each page’s fragments. The reviewer’s dashboard shows a per-page carousel.$0.80 × page_count for standard priority.
Where to go next
The three flows
Skip blind human review with Flow A or Flow B. Add an AI verifier with Flow C.
Response schemas
Patterns for nested models, tables, optionals, and multi-page response shapes.
Security
What the reviewer sees, what they don’t, how the document stays encrypted.
Errors
Every exception, what triggers it, and the right fix.