List events
/events
Returns events for the calling account. Results are paginated.
Each event represents a "thing your team should look at" produced by a screening check -
typically a positive PEP/sanction match, a phone or email match, an adverse media hit,
etc. Events have lifecycle status (new -> investigating -> closed_*) that you can
transition via the PATCH event endpoint.
Example Request
GETRequest Schema
page
per_page
The number of events per page (defaults to 30, max 500)
filter[status]
filter[check_type]
filter[entity_uuid]
filter[program_uuid]
filter[check_uuid]
filter[created_at_from]
filter[created_at_to]
sort
Field to sort by; prefix with `-` for descending order
archived
Filter by archive status. * `true` - only archived events * `false` - only non-archived events Note: The API will accept the string 'true' or the number 1 for true and the string 'false' or the number 0 for false as well as the boolean values.
Available Response Data
14 Data Pointsuuid uuid
The event's UUID
event_number string (A short obfuscated public identifier for the event (e.g. "V-A1-B2C-3D4"))
status enum
Lifecycle status of the event: new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed
check_type string
The operation type of the check that produced this event
check_summary string
Short, human-readable summary of the parent check
check_response_index integer
For separate event grouping, the zero-based index into the parent check's response
check_result_ids array
Provider-side result identifiers that triggered this event
archived_at timestamp (ISO 8601 timestamp at which the event was archived (null if not archived))
deleted_at timestamp (ISO 8601 timestamp at which the event was soft-deleted (null if not deleted))
entity_uuid uuid
UUID of the entity this event was raised against
program_uuid uuid
UUID of the program the entity belongs to
check_uuid uuid
UUID of the check that produced this event
meta object
pagination: current_page, per_page, total, last_page
api_reference uuid
unique request identifier for log tracing and audit
API Data Scale & Coverage tag
Unmatched data depth to power your compliance and verification workflows.
Sandbox Environment
Build and test against a sandbox account. Sandbox is a separate account with its own UUID and its own API keys, and the environment is fixed at the account level, so you cannot switch an existing key between live and sandbox with a parameter or header. Both share the same base URL, so the account behind your key is what determines which environment you are in. GET /v1/account returns an environment field of live or sandbox, and that is the authoritative answer.
Calls on a sandbox key are not billed. Every endpoint, response shape, error envelope, idempotency and rate-limit behaviour mirrors live, so the only change when you move to production should be the credentials. Sandbox accounts are provisioned by your Global Data account manager.
Technical Use Cases tag
Reconciliation against your own system
Page through every event on the account and compare it with your own records, so the two stay aligned without anyone exporting a spreadsheet. Filters use the filter[key]=value syntax and results are paginated.
Scheduled sync jobs
Sort by -created_at or -updated_at and pull only what has changed since the last run, which keeps a nightly sync proportional to the delta, not the whole book.
Operational dashboards
Drive an internal dashboard from live counts. meta.total gives the size of the filtered set without fetching every page.
Compliance & Security tag
Enterprise-grade infrastructure audited against the standards your regulators require.
Common Questions tag
Everything you need to know about implementation details and compliance infrastructure.
rocket_launch Implementation
How do I filter and page through the results?
add
How do I filter and page through the results?
Filters use the filter[key]=value syntax, and unknown keys are ignored, not rejected. Sorting uses the sort parameter, with a leading - for descending order.
One behaviour worth designing around: a filter targeting a UUID that is unknown, or that belongs to a different account, returns an empty page (data: [], meta.total: 0) instead of a 404. That is the same response as a filter which legitimately matches nothing, so an empty result does not on its own tell you the UUID was valid.
rocket_launch Implementation
What are the rate limits?
add
What are the rate limits?
600 requests per minute by default, enforced with a 60-second fixed window. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining.
Exceeding the limit returns 429 Too Many Requests with a Retry-After header giving the number of seconds to wait, and X-RateLimit-Reset giving the reset timestamp. Schedule retries from Retry-After instead of a fixed sleep, and slow down before you hit zero, not after.
Higher limits can be arranged case by case through WatchEye support.
Ready to integrate List events?
Talk to our team about credentials, sandbox access and the right combination of endpoints for your workflow.
