Quick start
Five-minute path from zero to a real verdict. By the end, you'll have scored a synthetic signup against your account.
1. Create a form
Forms group your scoring activity by site or signup endpoint. Each form has its own UUID and thresholds.
- Open Forms → New form
- Give it a memorable name (e.g. "Main signup")
- Leave the thresholds at defaults: allow ≤ 30, review ≤ 70
- Save — you'll see the form's UUID at the top of the detail page
2. Issue an API key
For backend integration. Browser-side (the JS widget) doesn't need a key — it authenticates via the form UUID instead.
- Open API keys
- Issue a new key. Save the full token from the amber banner — this is the only time we show it
- If you lose it, just revoke it and issue another
3. Make a test call
From a terminal, score a fake signup:
curl -X POST https://api.veritus.uk/v1/score \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signup": {
"email": "test@mailinator.com",
"country": "GB",
"ip": "86.142.71.21"
}
}'
Mailinator is a known disposable email provider, so expect
review or block with a reason of
EMAIL_DISPOSABLE. The full JSON response includes the score,
verdict, all matched reasons, and a request_id you can look up in your dashboard.
4. See it in the dashboard
Open Live scores. Your test call should appear at the top of the feed within a couple of seconds. Click the row to see the full reasoning, vendor enrichment data, and timing breakdown.
5. Wire it into your real signup form
See Integrate in 5 minutes for copy-paste recipes covering the JS widget, server-side API, and popular frameworks.
6. Decide what to do with each verdict
Veritus returns a verdict; your app decides the user experience. See Handling verdicts in your app for recommended UX, sample copy, the appeal flow, and things to avoid (like telling users why they were blocked).