Developers
One call for a check.
Keys, limits, signed webhooks and a public OpenAPI description.
API keys
KEYSCOPELAST USEDSTATUS
onboarding-prodchecks:write, alerts:read2 min agoActive
vendor-syncwatchlist:writetodayActive
old-keychecks:write41 days agoRevoked
Rate limit, this minute380 / 1000
WEBHOOK DELIVERIES
check.completed200 · 41 ms
alert.created200 · 38 ms
alert.created503 · retry in 30 s
curl -X POST https://api.example.com/v1/checks \
-H "Authorization: Bearer igk_..." \
-H "Idempotency-Key: onboarding-8841" \
-H "Content-Type: application/json" \
-d '{"type": "company", "name": "Northwind Trading Ltd",
"country": "GB", "screen": "sanctions",
"reference": "cust-8841"}'// 202 Accepted. Then GET /v1/checks/{check_id}, or wait for the webhook
{ "check_id": "job_8f2…", "status": "queued", "reference": "cust-8841" }
{ "check_id": "job_8f2…", "status": "queued", "reference": "cust-8841" }
Built to be integrated.
The boring parts are done.
keys
Scoped keys, shown once
Hashed at rest, scoped, revocable at once, rotated with a grace window. A key stops working when its creator is deactivated.
limits
Rate limits with headers
Per key and per organisation, consistent across every server. 429 with Retry-After and limit headers.
idempotency
Safe to retry
Send an idempotency key and a repeated request returns the same check and charges once.
webhooks
Signed, with a replay window
check.completed and alert.created, timestamped and signed. Retries with backoff; failures stay visible.
reports
JSON, PDF and audit bundle
The same cited report as data and as a PDF, plus a bundle your auditor can verify offline.
siem
Audit-log feed
Newline-delimited JSON, resumable by cursor, with hash-chain fields so your collector can verify the sequence.
Endpoints
A small surface that does the job. Keys reach only the public check, watch-list and alert routes. They never reach account, billing or admin routes.
POST/v1/checks
GET/v1/checks/{id}
GET/v1/checks/{id}/report.pdf
POST/v1/watchlist
GET/v1/alerts
Quickstart
From sign-up to first result in four steps.
STEP 1
Create an account
Sign up and open the developer settings.
STEP 2
Create a scoped key
Choose scopes; the key is shown once.
STEP 3
Make a test call
POST /v1/checks with an idempotency key.
STEP 4
Receive the result
Poll the check or receive a signed webhook.
Create a check: request fields
FIELDTYPEREQUIREDDESCRIPTION
typestringyesperson or company
namestringyesThe name to check
countrystringnoISO country code; sharpens matching
dobdatenoDate of birth for a person
screenstringyesWhich check to run, for example sanctions
referencestringnoYour own reference, returned with results
Errors
CODEMEANING
400The request is malformed
401Missing or invalid key
403The key lacks the scope
402Not enough credits
409Idempotency key reused with a different body
422A field is invalid
429Rate limit reached; see Retry-After
Webhook events
EVENTWHEN
check.completedA check finished
alert.createdMonitoring found a change
alert.updatedAn alert was marked
Questions
Is there a sandbox?+
Use test keys on a free account; previews cost nothing.
How are webhooks signed?+
Each delivery carries a timestamped signature header; verify it and reject old timestamps.
What are the rate limits?+
Per key and per organisation; every response carries limit headers, and 429 includes Retry-After.
Is there an OpenAPI description?+
Yes, for the public endpoints.
Make your first call in a minute.
A free preview on sign-up.
InackGuard