Browse endpoints

List adhoc checks

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

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

Returns adhoc ("quick") checks for the calling account. Results are paginated.

An adhoc check is a one-off screening run performed from the portal by an account user against a free-form subject - they do not belong to a program or entity record. They use the same underlying screening operations as entity checks (PEP and Sanction, phone, business, etc.) so the typed details payload uses the same per-operation schemas.

The list endpoint returns a compact at-a-glance envelope per check; use the show adhoc 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 adhoc checks (for example a quick check that runs a PEP screen and a phone check on the same subject in one go). 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 adhoc 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
  • created_by - user (only checks launched by a portal user) or api_key (only checks launched by any API key on this account)
  • created_by_user_uuid - only adhoc checks launched by the given portal user
  • created_by_api_key_uuid - only adhoc checks launched by the given API key
  • parent_uuid - only adhoc 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)

Filters that target a uuid (user, api key, 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.

Soft-deleted adhoc checks are excluded.

Adhoc checks do not support archiving - there is no archived query parameter and no archived_at field on the response.

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 adhoc 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[created_by] string

Only records created by the given kind of actor: user (a portal user) or api_key.

Enum: user, api_key

filter[created_by_user_uuid] string (uuid)

Only records created by the given portal user.

filter[created_by_api_key_uuid] string (uuid)

Only records created by the given API key.

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

Responses

200

Adhoc checks list response

application/json
FieldDescription
data array of objects

An array of adhoc checks

data[].uuid string (uuid)

The adhoc check's UUID

Example: 6f9e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data[].check_number string

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

Example: Q-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 adhoc 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 adhoc 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 did 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"). For adhoc checks the value is captured at run time from the data the user typed into the quick-check form. null for group checks and for checks whose operation did 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[].created_by object or null

Identifies who launched the adhoc check. The type discriminator picks the shape of the remaining fields:

  • { type: "user", uuid, username } - a portal user launched the adhoc check.
  • { type: "api_key", uuid, label } - an API key on this account launched the adhoc check.
  • null - rare legacy rows from before actor attribution was recorded.

If the user has since been deleted from the account the historical record is retained and the original user discriminator is still returned.

data[].created_by.type string

Discriminator for the actor type.

Enum: user, api_key

data[].created_by.uuid string (uuid)

UUID of the user or API key that launched the check.

data[].created_by.username string

Username of the portal user. Present only when type is user.

data[].created_by.label string

Label of the API key. Present only when type is api_key.

data[].parent_uuid string (uuid) or null

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

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