Skip to content

Watchlist Enrolment

Watchlists are the monitored items Defentry watches for breaches and dark-web exposure: emails, phones, IBANs, passports, driver's licenses, and credit cards.

The account's SSN (national ID) is also monitored — but it works differently: it is not a managed watchlist (there are no add/list/delete routes). It is set once on the account and then monitored automatically. See SSN (national ID) below.

There are two ways to manage them, and choosing correctly is the crux of the integration.

CRM token vs app token

Route shapeTokenActs asConfirmation
/api/v1/account/{id}/…-watchlistCRMYour service account, on behalf of the userAdmin-managed — no end-user click
/api/v1/…-watchlist (no account id)AppThe end user themselvesSubject to end-user confirmation where applicable

For backend-driven enrolment, prefer the CRM {id} routes: you add items for any account you administer without requiring the user to be online. Use the app routes when the user is operating their own account in your UI (see End-user access to obtain an app token).

Email

http
POST /api/v1/account/{account_id}/email-watchlist
Authorization: Bearer {crm_token}

{ "email": "john.doe@example.com" }
http
POST /api/v1/email-watchlist
Authorization: Bearer {app_token}

{ "email": "john.doe@example.com" }

Read, inspect leaks, and remove:

http
GET    /api/v1/account/{account_id}/email-watchlist
GET    /api/v1/account/{account_id}/email-watchlist/leaks
DELETE /api/v1/account/{account_id}/email-watchlist/{emailId}

App-token equivalents:

http
GET    /api/v1/email-watchlist
GET    /api/v1/email-watchlist/leaks
DELETE /api/v1/email-watchlist/{emailId}

Resend a pending end-user confirmation email:

http
POST /api/v1/resend/watchlist-email-confirmation

Phone

http
POST /api/v1/account/{account_id}/phone-watchlist
Authorization: Bearer {crm_token}

{ "phone": "+46701234567" }
http
POST /api/v1/phone-watchlist
Authorization: Bearer {app_token}

{ "phone": "+46701234567" }

Optional SMS verification (only when you need account-level phone confirmation):

http
POST /api/v1/account/{account_id}/phone-watchlist/send-verification-code
POST /api/v1/account/{account_id}/phone-watchlist/confirm

Read / leaks / delete follow the email pattern under phone-watchlist (/api/v1/account/{account_id}/phone-watchlist/{phoneId} to remove). App-token routes mirror them without the account id.

IBAN

http
POST   /api/v1/account/{account_id}/iban-watchlist
GET    /api/v1/account/{account_id}/iban-watchlist
GET    /api/v1/account/{account_id}/iban-watchlist/leaks
DELETE /api/v1/account/{account_id}/iban-watchlist/{ibanId}

App token: POST/GET /api/v1/iban-watchlist, GET /api/v1/iban-watchlist/leaks, DELETE /api/v1/iban-watchlist/{ibanId}.

Passport

http
POST   /api/v1/account/{account_id}/passport-watchlist
GET    /api/v1/account/{account_id}/passport-watchlist
PATCH  /api/v1/account/{account_id}/passport-watchlist/{passportId}
DELETE /api/v1/account/{account_id}/passport-watchlist/{passportId}

App token: POST/GET /api/v1/passport-watchlist, plus PATCH/DELETE /api/v1/passport-watchlist/{passportId}.

Driver's license

http
POST   /api/v1/account/{account_id}/drivers-license-watchlist
GET    /api/v1/account/{account_id}/drivers-license-watchlist
DELETE /api/v1/account/{account_id}/drivers-license-watchlist/{licenseId}

App token: POST/GET /api/v1/drivers-license-watchlist, DELETE /api/v1/drivers-license-watchlist/{licenseId}.

SSN (national ID)

SSN is not a managed watchlist

Unlike the items above, an SSN has no add / list / delete watchlist routes. The SSN is monitored automatically once it is set on the account. It can be set two ways: by your backend when the account is created (POST /api/v1/account, CRM token), or by the end user after creation via an electronic ID flow (app token). There is no CRM route to add or change an SSN after creation. You can only toggle monitoring of an existing SSN via PATCH /api/v1/account/{account_id}/ssn-monitoring/activate and /deactivate.

Credit cards

CRM routes use the account id; cards added this way skip the end-user verification step:

http
POST   /api/v1/account/{account_id}/credit-card
GET    /api/v1/account/{account_id}/credit-cards
GET    /api/v1/account/{account_id}/credit-card/{creditCardId}
DELETE /api/v1/account/{account_id}/credit-card/{creditCardId}

App-token routes, including the user-facing verification flow:

http
POST   /api/v1/credit-card
GET    /api/v1/credit-cards
POST   /api/v1/credit-cards/verify
GET    /api/v1/credit-card/leaks
GET    /api/v1/credit-card/{creditCardId}
DELETE /api/v1/credit-card/{creditCardId}

Next steps

For API access and technical questions, contact Defentry through your account manager.