Browse endpoints

List events

GET /api/v1/events operationId: event.list

Base: https://portal.watcheye.com.au/api/v1/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.

Events do not get deleted on their own; closing them sets their status to one of the closed_* values.

Filters

The following filters can be applied via the filter[...] query parameters:

  • status - one of new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed
  • check_type - one of the operation types (e.g. pep_sanction_check, phone_check, business_check)
  • entity_uuid - only events for the given entity
  • program_uuid - only events for entities in the given program
  • check_uuid - only events from the given check
  • created_at_from - inclusive lower bound on event creation time (ISO 8601)
  • created_at_to - inclusive upper bound on event creation time (ISO 8601)

The top-level archived query parameter accepts true (only archived) or false (only non-archived); omitting it returns both.

Filters that target a uuid (entity, program, check) return an empty page when the target uuid does not exist on the calling account, identical to the behaviour for a uuid that does not exist at all.

Sorting

The sort query parameter accepts created_at (default: -created_at, newest first) or status. Prefix with - for descending order.

Query parameters

FieldDescription
page integer

The page of results to return, starting at 1.

Example: 1

per_page integer

The number of events per page (defaults to 30, max 500)

Example: 30

filter[status] string

Only records with the given status. The endpoint description lists the values.

Enum: new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed

filter[check_type] string

Only records of the given check type. The endpoint description lists the values.

Example: pep_sanction_check

filter[entity_uuid] string (uuid)

Only records for the given entity.

filter[program_uuid] string (uuid)

Only records for entities in the given program.

filter[check_uuid] string (uuid)

Only events raised by the given check.

filter[created_at_from] string (date-time)

Inclusive lower bound on created_at (ISO 8601).

Example: 2025-01-01T00:00:00Z

filter[created_at_to] string (date-time)

Inclusive upper bound on created_at (ISO 8601).

Example: 2025-12-31T23:59:59Z

sort string

Field to sort by; prefix with - for descending order

Enum: created_at, -created_at, status, -status

Example: -created_at

archived boolean

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.

Responses

200

Events list response

application/json
FieldDescription
data array of objects

An array of events

data[].uuid string (uuid)

The event's UUID

Example: 4d7e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data[].event_number string

A short obfuscated public identifier for the event (e.g. "V-A1-B2C-3D4")

Example: V-A1-B2C-3D4

data[].status string

Lifecycle status of the event:

  • new - the event has just been raised and not yet triaged
  • investigating - someone is actively working the event
  • closed_dismissed - reviewed and dismissed (e.g. false positive)
  • closed_duplicate - duplicates another event
  • closed_error - caused by a data entry error
  • closed_confirmed - confirmed and acted on

Enum: new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed

Example: new

data[].check_type string

The operation type of the check that produced this event (e.g. pep_sanction_check, phone_check, business_check).

Example: pep_sanction_check

data[].check_summary string or null

Short, human-readable summary of the parent check (denormalised from the linked check so that listing events does not require an N+1 fetch into checks).

Example: Searched for "Jane Doe" in PEP and Sanction lists for AU, NZ, US, GB, CA.

data[].check_response_index integer or null

For separate event grouping, the zero-based index into the parent check's response array that this event represents. null for grouped events that aggregate every match for the entity into a single event.

Example: 0

data[].check_result_ids array of integers

Provider-side result identifiers that triggered this event. Combined with the parent check's response, this lets integrators pull the underlying match data for the event.

data[].archived_at string (date-time) or null

ISO 8601 timestamp at which the event was archived (null if not archived)

data[].deleted_at string (date-time) or null

ISO 8601 timestamp at which the event was soft-deleted (null if not deleted)

data[].entity_uuid string (uuid)

UUID of the entity this event was raised against

Example: 123e4567-e89b-12d3-a456-426614174000

data[].program_uuid string (uuid)

UUID of the program the entity belongs to

Example: 9c3e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data[].check_uuid string (uuid)

UUID of the check that produced this event

Example: 0a1b2c3d-4e5f-6789-abcd-ef0123456789

data[].notes_count integer

How many notes (system + user) are attached to the event. Only the count is included on the list endpoint; the detail endpoint additionally embeds the notes themselves.

Example: 0

data[].created_at string (date-time)

ISO 8601 timestamp at which the event was created

Example: 2025-01-01T00:00:00Z

meta object
meta.current_page integer

Example: 1

meta.per_page integer

Example: 30

meta.total integer

Example: 1

meta.last_page integer

Example: 1

api_reference string (uuid)
Standard error responses: 400 401 403 429 5XX See common error responses