Skip to main content
By the end of this page you’ll have:
  • 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

The 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 the ah_sk_live_... value once; you can’t see it again. Set it as an environment variable:
The dashboard also shows your current balance. New accounts start with a free trial credit. Pricing →

3. Define your response shape

The reviewer is going to fill out a form that matches your Pydantic schema. Define what you want back:
Anything that’s a 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:
  1. A reviewer opens the task.
  2. They see the document fragments (five masked views per page, decrypted and streamed through our proxy on demand).
  3. The form is pre-filled if you supplied prior_extraction= or extraction=; otherwise it’s blank.
  4. They edit cells, add rows, correct what the model got wrong, and click Submit.
Your 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.
Billing scales linearly: $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.