Verinode Developer

The Operator API

Push documents and records into your Verinode vault through the same schema-validated pipeline as every other lane, and read your own structured data back out. Your data, programmatically.

API reference Download OpenAPI Status

Quickstart

From zero to a live call in about five minutes. Test keys are free, run against an isolated sandbox copy of your account, and never spend Intelligence Units.

1

Mint a test key

In the dashboard, open Settings › Developer and create a Test key with the read, ingest, and write scopes. Copy the vn_test_ secret. It is shown once.

2

Verify it

KEY='vn_test_your_secret_here'
curl -H "Authorization: Bearer $KEY" https://api.verinode.ai/v1/ping

Returns your resolved identity, "sandbox": true, and a request id.

3

Ingest a document

curl -X POST https://api.verinode.ai/v1/documents \
  -H "Authorization: Bearer $KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F file=@water-mitigation-invoice.pdf

Returns 202 with an ingestion id. Processing is asynchronous.

4

Poll for the receipt

curl -H "Authorization: Bearer $KEY" \
  https://api.verinode.ai/v1/ingestions/<id>

Once status is completed, the receipt shows exactly what Verinode detected, saved, and normalized.

5

Read your data back

curl -H "Authorization: Bearer $KEY" \
  "https://api.verinode.ai/v1/jobs?limit=25"

Cursor-paginated. Pass the returned next_cursor as ?cursor= for the next page.

Endpoints

GET /v1/pingVerify a key and echo its identity.
POST /v1/documentsIngest a document for extraction.
GET /v1/ingestions/{id}Poll an ingestion and read its receipt.
GET · POST /v1/jobsList or create jobs.
GET · POST /v1/clientsList or create clients.
GET /v1/vendorsList vendors.
GET /v1/api-keysList your keys (metadata only).

Full interactive reference →

Conventions

AuthBearer key: Authorization: Bearer vn_live_... or vn_test_.... Keys are minted in the dashboard.
MoneyDecimal strings ("18450.00"), never floats.
TimestampsISO 8601 UTC.
Errors{ "error": { type, code, message, doc_url, request_id } }
TracingEvery response carries a Verinode-Request-Id header.
Rate limitsRateLimit-* headers; 429 with Retry-After when exceeded.
IdempotencySend an Idempotency-Key header on any POST to make a retry safe.