Docs / REST API

GET /v1/screen

Multipolar sanctions screening: name / alias / registered ID → measures across lists

Verbatim match against the 4 published official lists (US OFAC, UK, EU, Canada): exact name → alias → registered ID (Tax ID, IMO, registration number) → trigram-fuzzy with score. No generative step. A hit is not a determination; a no-hit is qualified by list coverage and freshness (screened_lists in the response). Canadian hits carry an `attribution` line ("retrieved {date}", Open Government Licence – Canada) and a `licence_url`.

Endpoint

GET https://api.lexatlas.creatora.app/v1/screen

Parameters

NameInRequiredTypeDescription
qqueryyesstringname, alias or registered ID
kindquerynostringentity|person|vessel|aircraft (csv)
jurquerynostringimposing jurisdiction: us,uk,eu,ca (csv); outside keys: only the open lists
limitquerynointegermax matches (default 25, cap 200)

Example

curl -H "X-API-Key: lxa_YOUR_KEY" \
  "https://api.lexatlas.creatora.app/v1/screen?q=<q>"

Responses and error codes

StatusMeaningSchema
200matches with match_via/score + screened_lists coverage + notesobject
400bad request — see error_code (missing_parameter, invalid_parameter, invalid_body, invalid_cursor, empty_batch, batch_too_large, unsupported)Error
401missing/invalid API key (when auth is enabled) — error_code=unauthorizedError
413body too large — error_code=payload_too_largeError
429rate limit exceeded (per-key, per-minute window) — error_code=rate_limitedError

Errors use one envelope everywhere: error, error_code, hint, http_status. The full list of codes is served by GET /v1/errors.