Add Subjects
Watchlists
Add Subjects
Add subjects to a watchlist individually or in batch
POST
Add Subjects
Overview
Add one or more subjects to an existing watchlist for ongoing monitoring. Subjects are automatically screened at the next scheduled check interval.Seat-Based System: Each subject consumes one monitoring seat. Subjects have a TTL (Time-To-Live) and automatically expire after the configured duration (default: 365 days). Expired subjects free up seats automatically.
Add Single Subject
Add one subject at a time.Endpoint
Authentication
Requireswatchlist:update permission.
Path Parameters
The unique identifier of the watchlist
Request Body
Request Example
Response
Response Fields
| Field | Type | Description |
|---|---|---|
subject_id | string | Unique identifier for the added subject |
expires_at | integer | Unix timestamp when the subject will expire |
duration_days | integer | Configured duration before expiration |
watchlist | object | Updated watchlist with all subjects |
Add Multiple Subjects (Batch)
Add multiple subjects in a single request for efficiency.Endpoint
Authentication
Requireswatchlist:update permission.
Request Body
Request Example (Batch)
Response
Batch Response Fields
| Field | Type | Description |
|---|---|---|
added_count | integer | Number of subjects successfully added |
subject_ids | array | UUIDs of all added subjects |
expires_at | integer | Unix timestamp when subjects will expire |
duration_days | integer | Configured duration before expiration |
watchlist | object | Updated watchlist with all subjects |
Subject Fields
| Field | Type | Required | Description |
|---|---|---|---|
full_name | string | Yes | Full name of the subject |
identifier | string | No | Document ID, wallet address, email, etc. |
identifier_type | string | No | Type: “document”, “wallet”, “email”, etc. |
tags | array | No | Custom tags for categorization and filtering |
session_id | string | No | Session ID if subject was created during onboarding |
Common Identifier Types
| Type | Description | Example |
|---|---|---|
document | Government-issued ID | ”12345678”, “AB123456” |
wallet | Cryptocurrency wallet | ”0x742d35Cc…” |
email | Email address | ”user@example.com” |
tax_id | Tax identification number | ”TAX-987654” |
passport | Passport number | ”AB1234567” |
Error Responses
400 Bad Request
402 Payment Required - No Seats Available
404 Not Found
Status Codes
| Code | Description |
|---|---|
| 201 | Created - Subject(s) added successfully |
| 400 | Bad Request - Invalid subject data |
| 401 | Unauthorized |
| 402 | Payment Required - No seats available |
| 403 | Forbidden - Missing watchlist:update permission |
| 404 | Not Found - Watchlist not found |
| 500 | Internal Server Error |
Best Practices
Use Batch for Multiple Subjects
Use Batch for Multiple Subjects
When adding multiple subjects, always use the batch endpoint (
/subjects/batch) instead of making multiple single-subject calls. This:- Reduces API calls and stays within rate limits
- Improves performance
- Simplifies error handling
Provide Identifiers When Possible
Provide Identifiers When Possible
While
full_name alone is sufficient, providing identifiers improves matching accuracy:- More precise matches
- Reduces false positives
- Better audit trail
Use Descriptive Identifier Types
Use Descriptive Identifier Types
Use specific identifier types to help with matching:
documentfor government IDswalletfor crypto addressespassportfor passport numberstax_idfor tax identifiers
Check Immediately After Adding
Check Immediately After Adding
For subjects added with
check_frequency: "on_update", the watchlist will screen them immediately. For daily or weekly frequencies, subjects are screened at the next scheduled check.You can also trigger monitoring manually to get immediate results.Understand Subject Expiration
Understand Subject Expiration
Subjects automatically expire after a configured period (default: 365 days). The
expires_at field in the response shows when each subject will be removed. Plan renewals accordingly to maintain continuous monitoring.Monitor Seat Usage
Monitor Seat Usage
Before adding subjects, verify you have available seats. Use the Usage API to check your current seat consumption and avoid 402 errors.
Next Steps
- Remove subjects when no longer needed
- Get watchlist details to view all subjects
- Monitor screening results with Usage API