API reference

API Endpoint Reference

Base URL
https://api.eupeak.io
Version
/v1
Auth
Authorization: Bearer ek_live_YOUR_KEY

POST /v1/screen

Screen an entity or person against all configured sources.

Request body

query   string   required
type    string   optional   "entity" (default) | "person"
options object   optional
  threshold              number    Min match score 0–1 (default 0.5)
  sources                string[]  Limit to specific source IDs
  include_adverse_media  boolean   Requires Professional+ (default true)

Response 200

id                string
entity            string
risk_score        integer   0–100
risk_level        string    "low" | "medium" | "high" | "critical"
flags             array     (see Flag object below)
sources_queried   string[]
sources_matched   string[]
cache_hit         boolean
duration_ms       integer
timestamp         string    ISO 8601

Flag object

type          "sanctions" | "pep" | "watchlist" | "adverse_media"
source        string   e.g. "ofac_direct" | "opensanctions" | "namescan"
list          string   e.g. "SDN" | "EU_CONSOLIDATED"
match_score   number   0–1
details       object   Source-specific raw data

Errors

CodeMeaning
401Invalid or missing API key
402Monthly screening limit reached
422Query too short (< 2 chars) or too long (> 500 chars)
429Rate limit exceeded (100 req/min)
500All sources failed

GET /v1/screen/:id

Retrieve a past screening by UUID. Same response schema as POST /v1/screen. Retained for 24 months.


GET /v1/usage

Current month usage for the authenticated API key.

tier            string
monthly_limit   integer
current_month
  count         integer
  remaining     integer
  reset_date    string   ISO 8601

POST /v1/webhooks

Register a webhook for async event delivery.

Request body

url     string     required   Must be HTTPS
events  string[]   optional   ["screening.complete"] (default)

Response

id       string   Webhook UUID
secret   string   HMAC signing secret — shown once only

DELETE /v1/webhooks/:id

Deactivate and remove a webhook. Response: 204 No Content.


GET /v1/health

Operational status of all sources. No authentication required.

status         "ok" | "degraded" | "down"
sources        object   Per-source "up" | "slow" | "down"
cache          "up" | "down"
latency_ms     integer