Screen individuals against global sanctions lists, PEP databases, and criminal records. Integrate Urim into your compliance workflow with a single API key.
Authentication
All API requests require your API key sent in the X-API-Key header. You can find your API key in the Admin page of your Urim dashboard, or generate a new one via the API.
Header
X-API-Key: your_api_key_here
⚠ Keep your key safe
Your API key has full access to your account. Don't commit it to source control or share it in client-side code. If compromised, rotate it immediately from the Admin page or via POST /me/rotate-key.
Base URL
All API endpoints are available at:
Base URL
https://urimkyc.com/api
For example, to screen an individual: POST https://urimkyc.com/api/screen
Quick Start with Postman
The fastest way to explore the API. Import our pre-built collection and start screening in under 2 minutes.
Import the collectionOpen Postman → click Import (top left) → drag in the JSON file → click Import.
Set your API keyClick on Urim KYC API in the sidebar → Variables tab → paste your API key in the api_key value field → Save (Ctrl+S).
Set the base URLIn the same Variables tab, set base_url to https://urimkyc.com/api → Save.
Send your first requestExpand System → click Health Check → click Send. You should get back the API version and status.
Screen someoneExpand Screening → click Screen Individual → click Send. The test subject (Vladimir Putin) is pre-loaded. The screen_id auto-saves so you can immediately test Dispose, Get Screen, and Delete.
ℹ Environment override
If requests fail with a connection error, check the environment dropdown (top-right of Postman). Set it to No environment so the collection variables are used.
Endpoints
Health Check
GET/health
Returns API version and status. No authentication required.
Run a full screening (sanctions, PEP, criminal) on an individual. Returns a complete JSON result with risk level, matches, and AI-generated compliance narratives.
Field
Type
Required
Description
name
string
Yes
Full name to screen (min 2 characters)
dob
string
No
Date of birth in YYYY-MM-DD format
nationality
string
No
e.g. "American", "British", "Russian"
location
string
No
City or country
alias
string
No
Known alias or alternative name
types
string
No
Comma-separated: sanctions,pep,criminal (default: all three)
{
"screen_id": "SCR-20260404-0001",
"risk_level": "CRITICAL",
"subject": {
"name": "Vladimir Putin",
"dob": "1952-10-07",
"nationality": "Russian",
"location": "Moscow"
},
"sanctions_result": {
"risk_level": "CRITICAL",
"is_sanctioned": true,
"matches": [ ... ],
"narrative": "The screening returned a hit against..."
},
"pep_result": {
"risk_level": "HIGH",
"is_pep": true,
"tier": 1,
"tier_label": "Tier 1 — Current",
"category": "head_of_state",
"narrative": "Vladimir Putin is identified as a Tier 1..."
},
"criminal_result": {
"risk_level": "CLEAR",
"interpol_hits": [],
"fbi_hits": [],
"narrative": "No matches were found..."
},
"screened_at": "2026-04-04T01:40:46Z",
"skipped": false
}
ℹ Duplicate detection
By default, if you screen the same person twice within the rescreen window, the API returns the cached result. Set "force": true to bypass this and run a fresh screen.
List All Screens
GET/screens?limit=50🔑 API Key Required
Returns all screening results for your tenant, most recent first.
List Pending Screens
GET/screens/pending🔑 API Key Required
Returns screens awaiting analyst review (no disposition recorded yet).
Get Screen by ID
GET/screens/{screen_id}🔑 API Key Required
Returns full details for a specific screen including all match data and narratives.
Get Screen History
GET/screens/{screen_id}/history🔑 API Key Required
Returns the full disposition history and analyst notes for a screen.
Dispose Screen
POST/screens/{screen_id}/dispose🔑 API Key Required
Record an analyst disposition on a screen — confirm a hit, clear a false positive, or flag for further review.
Field
Type
Required
Description
disposition
string
Yes
One of: confirmed_hit, false_positive, needs_review, cleared, approved
note
string
No
Analyst notes explaining the decision
override
boolean
No
Override an existing disposition from another analyst
approval_requested
boolean
No
Flag this decision for admin approval
curl
curl -X POST https://urimkyc.com/api/screens/SCR-20260404-0001/dispose \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"disposition": "confirmed_hit",
"note": "Verified match — OFAC SDN list"
}'
Delete Screen
DELETE/screens/{screen_id}🔑 API Key Required
Permanently delete a screen and all associated analyst notes. Admins can delete any screen; analysts can only delete their own.
Batch Screen
POST/batch/stream🔑 Growth Plan+
Screen up to 500 subjects in a single request. Returns a Server-Sent Events stream with progress updates as each subject completes.