Verinode Developer Platform
Two APIs. One platform.
Verinode IQ lets an operator build on their own data — push documents, events, and records in, read everything back out. Verinode HQ lets a network read its aggregated intelligence. Fully documented, and your data never mingles with the network's.
Mint a test key
Settings › Developer. Free, sandboxed, no setup.
Make your first call
curl /v1/ping with your bearer key.
Send and read data
Ingest a document, then GET /v1/jobs.
#Two APIs
Verinode exposes two REST APIs on the same host (https://api.verinode.ai/v1), told apart by the kind of key you present:
| Verinode IQ Operator API | An operator's own data. Push documents, events, and records in; read jobs, vendors, and clients back out; export; webhooks. Keys vn_live_… / vn_test_…. Documented in Getting started → Data out below. |
| Verinode HQ Network API | A network's aggregated intelligence. Read network health, the member roster, and compliance posture; export. Read-only. Keys vn_group_live_…. See Network API (HQ). |
HQ sits on top of IQ: members contribute data up through IQ, HQ aggregates it across the network. An operator never sees the network; a network never sees a member's raw data.
#Quickstart (IQ)
Mint a Test key in the dashboard under Settings › Developer, with the read and ingest scopes — this quickstart uses both, and scopes are fixed at mint time. Minting requires the admin role; the Developer pane isn't shown to other members.
KEY='vn_test_your_secret_here'
# 1. Verify the key
curl -H "Authorization: Bearer $KEY" https://api.verinode.ai/v1/ping
# 2. Ingest a document (needs the ingest scope)
curl -X POST https://api.verinode.ai/v1/documents \
-H "Authorization: Bearer $KEY" -H "Idempotency-Key: $(uuidgen)" \
-F file=@invoice.pdf
# 3. Read your data back (needs the read scope)
curl -H "Authorization: Bearer $KEY" "https://api.verinode.ai/v1/jobs?limit=25"
Test keys are free and never spend Intelligence Units. A test key resolves to a separate sandbox operator — an empty tenant, not a copy of your account. Nothing you write with it appears in your real dashboard, and nothing it writes reaches the intelligence layer or your benchmarks.
The sandbox starts with no data, so step 3 returns { "data": [] } until step 2's document finishes extracting and creates something. An empty array there is the system working, not a broken key — poll GET /v1/ingestions/{id} to watch the extraction land.
Next (IQ): Authentication · Core concepts · the full API reference.
Run a network? Skip to the Verinode HQ Network API — aggregated network health, member roster, and compliance posture with a group key.