Browse endpoints

List monitors in a program

GET /api/v1/programs/{program_uuid}/monitors operationId: monitor.list

Base: https://portal.watcheye.com.au/api/v1/programs/{program_uuid}/monitors

Returns the monitors that belong to the given program. Soft-deleted monitors are excluded. Results are paginated.

Filters

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

  • status - one of active, paused
  • process_status - one of pending, processing, failed, paused
  • monitor_check_type - one of the operation types enabled on the account
  • schedule - one of the schedule values listed on the Monitor schema

Sorting

The sort query parameter accepts created_at, last_run_at (default: -last_run_at, most recently run first - monitors that have never run sort last) or monitor_name. Prefix with - for descending order.

Path parameters

FieldDescription
program_uuidrequired string (uuid)

The program UUID

Query parameters

FieldDescription
page integer

The page number to return

Example: 1

per_page integer

The number of monitors 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: active, paused

filter[process_status] string

Only monitors with the given process status.

Enum: pending, processing, failed, paused

filter[monitor_check_type] string

Only monitors of the given operation type.

filter[schedule] string

Only monitors on the given schedule.

sort string

Field to sort by; prefix with - for descending order

Enum: created_at, -created_at, last_run_at, -last_run_at, monitor_name, -monitor_name

Example: -last_run_at

Responses

200

Monitors list response

application/json
FieldDescription
data array of objects

An array of monitors

data[].uuid string (uuid)

The monitor's UUID

Example: 5d6c8f93-91d4-4d6a-bb5e-2c64e9a3b1f0

data[].monitor_number string

A short obfuscated public identifier for the monitor (e.g. "M-12-34-56")

Example: M-12-34-56

data[].monitor_name string

The display name of the monitor

Example: Weekly PEP Sweep

data[].monitor_check_type string

The screening operation this monitor runs. Cannot be changed after creation - create a new monitor instead. The list of allowed values depends on the products enabled on the calling account.

Example: pep_sanction_check

data[].monitor_check_type_name string

Human-readable name for monitor_check_type (e.g. "PEP & Sanction Check")

Example: PEP & Sanction Check

data[].status string

Lifecycle status:

  • active - the monitor runs on its schedule and can be triggered manually
  • paused - the monitor does not run on its schedule and cannot be triggered manually

Enum: active, paused

Example: active

data[].process_status string or null

In-flight run state, or null when the monitor is idle:

  • pending - queued
  • processing - currently running
  • failed - the most recent run failed (cleared on next successful run)
  • paused - the run was paused mid-flight (e.g. due to insufficient credit)

Callers polling after POST /monitors/{uuid}/run should wait for this field to transition out of pending/processing before reading results.

Enum: pending, processing, failed, paused

data[].process_status_comment string or null

Optional human-readable detail accompanying process_status (e.g. failure message)

data[].schedule string

How often the monitor runs unattended. manual means it never runs on its own and must be triggered via the run endpoint.

Enum: manual, every_day, weekdays, weekends, monday, tuesday, wednesday, thursday, friday, saturday, sunday, monthly_1, monthly_15, monthly_1_15, quarterly

Example: weekdays

data[].schedule_name string or null

Human-readable description of the schedule (e.g. "Every Day (Mon-Sun)")

Example: Weekdays (Mon-Fri)

data[].config object (dynamic)

Per-operation configuration. The shape depends on monitor_check_type; see the Monitor Configuration section of the API guide for the schema of each operation. The portal's monitor create/edit screens render the same fields you'd send here.

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

ISO 8601 timestamp of the most recent run, or null if the monitor has never run

Example: 2025-01-15T03:00:00Z

data[].has_run_before boolean

true if the monitor has processed at least one entity. Used by the "new" run mode to know whether there is a cursor to resume from.

Example: true

data[].program_uuid string (uuid)

UUID of the program this monitor belongs to

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

data[].created_at string (date-time)

ISO 8601 timestamp at which the monitor was created

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

data[].updated_at string (date-time)

ISO 8601 timestamp at which the monitor was last updated

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)

A unique identifier for this request. This can be used to track the request in the logs and audit trail.

Standard error responses: 400 401 402 403 404 429 5XX See common error responses