Supported identifier types for Users
| Type | Key | Matches when… |
|---|---|---|
| Face | FACE | A new session’s liveness selfie matches the blocklisted face |
| Document number | DOCUMENT | A new ID submission matches the blocklisted document number |
EMAIL | A new session or transaction uses the blocklisted email | |
| Phone | PHONE | A new session or transaction uses the blocklisted phone |
| IP address | IP_ADDRESS | The submitter’s IP matches — supports single IPs (1.2.3.4) and CIDR ranges (10.0.0.0/8) |
| Device fingerprint | DEVICE_FINGERPRINT | The submitter’s device fingerprint matches |
| User | USER | The session or transaction uses the blocklisted vendor_data |
- Face and document: enforced during a new session.
- Email and phone: enforced during a session step that collects them, or during a transaction payload.
- IP and device: enforced during IP analysis in a session.
- User vendor_data: enforced during session or transaction creation.
How blocklisting happens
Automatic — on a declined session
When a session is declined and your workflow’s auto-blocklist setting is enabled, Didit automatically adds relevant identifiers (face, document, email, phone) to the corresponding system blocklists and transitions the user to
BLOCKED.Automatic — on blocklist match
When an incoming session matches an existing blocklist entry, the session is auto-declined with a reason code like
blocked_face, blocked_document, blocked_email, etc.Manual — from the console
An analyst blocklists a user from Users → [user] → Actions → Add to blocklist, choosing one or more identifiers to capture.
Programmatic — via the Lists API
Use the Lists API to add entries programmatically. This is the same API the console uses under the hood.
System lists vs custom lists
Every application has system blocklists — one per identifier type — that Didit auto-manages. You cannot rename or delete them. Custom lists are yours to create, name, and scope.| List | Created by | Description |
|---|---|---|
| System Face Blocklist | Didit | Canonical face blocklist for the application |
| System Document Blocklist | Didit | Canonical document number blocklist |
| System Email Blocklist | Didit | Canonical email blocklist |
| System Phone Blocklist | Didit | Canonical phone blocklist |
| System User Blocklist | Didit | Blocked vendor_data identifiers |
| Custom blocklists | You | Scoped lists, e.g. per region, per partner, per risk tier |
Adding a user to the blocklist via API
Use the Lists API to add a blocklist entry. To block a user byvendor_data, add a USER-type entry to the corresponding blocklist:
- List all lists filtered by
entry_type=userandis_system=trueto find the system User blocklist. - Create an entry on that list with
valueset to the user’svendor_data.
value.
Enforcement flow
For face and document blocklists, the check happens at the verification step:Removing from the blocklist
- Console: Blocklist → [type] → row actions → Remove.
- API: use the Delete entry endpoint with the list UUID and entry UUID.
ACTIVE — use PATCH /v3/users/{vendor_data}/update-status/ to change status if you want to allow new sessions.
Blocklist audit trail
Every add/remove on a blocklist is logged to the audit log:- Who added the entry (user email or
'system','api'). - When.
- Optional
commentexplaining the reason. - Linked session or transaction if the entry was generated automatically.
Next steps
Lists API
Full blocklist / allowlist API reference.
Console blocklist
Manage blocklists from the UI.
Faces & biometrics
How face blocklists work.