Results are not stored in Vern. They’re retained for 24 hours so you can
fetch them, then deleted along with the uploaded file. Capture what you need.
Authentication
Requires anx-api-key header. See Authentication.
Submit a file
multipart/form-data:
file
required
The document. Max 100 MB. Supported:
pdf, docx, xlsx, xlsm, xls,
xltx, xltm, csv.string[]
Template slugs to extract against — repeat the field, or pass one
comma-separated value. Omit to use every active template in your account.
List your templates for slugs.
string
Optional free-text guidance, e.g.
"only the first schedule".202 Accepted
Poll for the result
200 OK while it runs:
200 OK once it’s done:
Fields
string
processing, completed, failed, or expired.integer
How many tables were extracted. Present when
completed.integer
Total rows across all tables.
object[]
The extracted data. Present when
completed.string
Why it failed. Present when
status is failed or expired.Choosing templates
The templates you name shape the extraction. Vern uses their columns — including descriptions and cross-template link rules — to work out what sections a document has and which fields to pull from each. That means naming the right templates matters more than the file format. Passing two related templates (saylots and owners) lets the extraction
carry a joining column across both, so the rows come back linkable. Omitting
templates uses everything active in your account, which is fine for a first
try but noisier than choosing.
Errors
Example
Extraction vs a migration
Reach for a migration when you’re moving a customer’s dataset into your app
— you want validation, review, correction and a durable record. Reach for
extraction when you just need the numbers out of a document. Extraction
returns rows; it doesn’t validate them against the template’s rules, and it
doesn’t keep them.
Next
- List templates — the slugs to extract against.
- Create a migration — the full import flow.
- Errors & limits — shared conventions.