Browse endpoints

List checks

GET /api/v1/checks operationId: check.list

Base: https://portal.watcheye.com.au/api/v1/checks

Returns checks for the calling account. Results are paginated.

Each check represents a single screening run against an entity - for example a PEP and Sanction screen, an email verification, a court records search. The list endpoint returns a compact at-a-glance envelope per check; use the show check endpoint to read the typed details block and the uniform results_overview array for a specific record.

Group checks

A check_type value of group represents a parent record that aggregates one or more child checks (for example a monitor run that triggers a PEP screen, an adverse media search and a phone check on the same entity). Group checks appear in the list as first-class records; use the filter[parent_uuid] filter to find their children, or fetch the group via show check to read the children[] summary.

Filters

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

  • check_type - one of the operation types (e.g. pep_sanction_check, phone_check, business_check) or the special value group for aggregate parent records
  • outcome - pass or warning
  • program_uuid - only checks for entities in the given program
  • entity_uuid - only checks for the given entity
  • parent_uuid - only checks whose parent is the given check (use this with a group's uuid to list its children)
  • checked_after - inclusive lower bound on checked_at (ISO 8601)
  • checked_before - inclusive upper bound on checked_at (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 (program, entity, parent) 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 checked_at (default: -checked_at, newest first), check_type or outcome. 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 checks per page (defaults to 30, max 500)

Example: 30

filter[check_type] string

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

Example: pep_sanction_check

filter[outcome] string

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

Enum: pass, warning

filter[program_uuid] string (uuid)

Only records for entities in the given program.

filter[entity_uuid] string (uuid)

Only records for the given entity.

filter[parent_uuid] string (uuid)

Only records whose parent is the given record. Use a group's uuid to list its children.

filter[checked_after] string (date-time)

Inclusive lower bound on checked_at (ISO 8601).

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

filter[checked_before] string (date-time)

Inclusive upper bound on checked_at (ISO 8601).

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

sort string

Field to sort by; prefix with - for descending order

Enum: checked_at, -checked_at, check_type, -check_type, outcome, -outcome

Example: -checked_at

archived boolean

Filter by archive status.

  • true - only archived checks
  • false - only non-archived checks

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

Checks list response

application/json
FieldDescription
data array of objects

An array of checks

data[].uuid string (uuid)

The check's UUID

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

data[].check_number string

A short obfuscated public identifier for the check (e.g. "C-A1B2CD")

Example: C-A1B2CD

data[].check_type string

The type of check that was run. One of the supported screening operations (e.g. pep_sanction_check, phone_check, business_check) or group for an aggregate record that owns one or more child checks.

Example: pep_sanction_check

data[].check_type_name string

Display name for the check type (e.g. "PEP and Sanction Screening", "Phone Check", "Group Check"). Suitable for showing in UIs.

Example: PEP and Sanction Screening

data[].status string

Lifecycle status of the check:

  • pending - the check has been created and charged but the upstream call has not started yet
  • processing - the upstream provider is being called
  • complete - the check finished successfully and outcome is populated
  • failed - the check could not be completed; failed_reason is populated and the credit charged at launch has been refunded

For group checks the status is rolled up from the children: any child still pending or processing keeps the group at processing; the group is failed when any child failed, otherwise complete when every child is complete.

Enum: pending, processing, complete, failed

Example: complete

data[].failed_reason string or null

Short reason why the check failed. Populated only when status = failed, otherwise null.

data[].outcome string or null

High-level outcome of the check:

  • pass - nothing flagged
  • warning - one or more matches found that you should review

null for group checks that have no child results yet, and for checks that have not reached status = complete.

Enum: pass, warning

Example: warning

data[].check_summary string or null

Short, human-readable summary of the result (e.g. "Found 2 PEP matches", "All phones connected", "Business record exists"). null if the operation does not produce a summary.

Example: Found 2 PEP matches

data[].data_summary string or null

Short, human-readable summary of the subject the check ran against (e.g. "John A Smith, 1980-06-23" or "ACME Pty Ltd, ABN: 12 345 678 901"). null for group checks and for any check whose operation does not produce a subject summary.

Example: John A Smith, 1980-06-23

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

ISO 8601 timestamp at which the check was run. null while the check is still pending or processing.

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

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

ISO 8601 timestamp at which the check was archived (hidden from the active list in the portal). null when the check is not archived.

data[].program object or null

The program the check belongs to. null for adhoc checks that do not belong to a program.

data[].program.uuid string (uuid)

UUID of the program

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

data[].program.program_name string

Display name of the program

Example: PEP & Sanction Daily

data[].entity object or null

The entity the check ran against. null for adhoc checks that do not target an entity record.

data[].entity.uuid string (uuid)

UUID of the entity

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

data[].entity.entity_number string

A short obfuscated public identifier for the entity

Example: E-A1B2CD

data[].entity.entity_name string

Display name of the entity

Example: John A Smith

data[].parent_uuid string (uuid) or null

UUID of the parent (group) check this check is a child of. null when the check is not part of a group.

data[].events_count integer

How many events have been raised against this check. 0 when no matches required an event.

Example: 1

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