# Monitor Configuration

A monitor's `config` object is per-operation: the shape depends on which screening operation the monitor's `monitor_check_type` refers to. This section lists the configuration keys for every operation type currently exposed by the API.

The same configuration is set by the corresponding portal screen at **Programs -> Program -> Monitors -> New / Edit**; integrators may find it useful to create one monitor in the portal first and `GET /v1/monitors/{uuid}` to see exactly what the API returns for an operation type before constructing a `POST` or `PATCH` payload of their own.

## Common notes

- On `POST /v1/programs/{program_uuid}/monitors`, every `required` key must be supplied. Missing keys produce a `400` with the relevant validation errors.
- On `PATCH /v1/monitors/{monitor_uuid}`, the `config` object is merged with the existing config key-by-key. Only the keys you supply are validated and changed; keys you do not supply are preserved as-is.
- Country codes are ISO 3166-1 alpha-2 (`AU`, `GB`), plus the synthetic values `ZZ` (Global / unattributed) and `EU` (European Union). The full list is in the API reference.
- Some operations (e.g. PEP / sanction, banned & disqualified persons) accept an empty array to mean "all". This is documented per operation below.

## pep_sanction_check - PEP & Sanction Screening

| Key                              | Type    | Required | Allowed values                                                  | Default                            |
|----------------------------------|---------|----------|-----------------------------------------------------------------|------------------------------------|
| `search_type`                    | string  | yes      | `broad_search`, `medium_search`, `narrow_search`                | `medium_search`                    |
| `similarity_threshold`           | string  | yes      | `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, `100`     | `80`                               |
| `pep_countries`                  | array   | no       | Array of ISO 3166-1 alpha-2 country codes; empty array = global | `[]` (global)                      |
| `sanction_countries`             | array   | no       | Array of ISO 3166-1 alpha-2 country codes; empty array = global | `["AU", "CA", "NZ", "GB", "US"]`   |
| `max_results`                    | string  | no       | `10`, `15`, `20`, `25`, `50`, `100`                             | `25`                               |
| `pep_sanction_extended_result`   | boolean | no       | `true`, `false`                                                 | `true`                             |

- `search_type` controls the leniency of the name-matching algorithm. `narrow_search` returns fewer, higher-confidence results; `broad_search` returns more candidates including phonetic and partial matches.
- `similarity_threshold` is expressed as a percentage string (not a number). Anything below the threshold is dropped before being returned.
- `pep_sanction_extended_result` adds biographical and source metadata to each match. Disable to keep responses lean.

## banned_disqualified_persons - Banned & Disqualified Persons Screening

| Key                    | Type   | Required | Allowed values                                              | Default         |
|------------------------|--------|----------|-------------------------------------------------------------|-----------------|
| `search_type`          | string | yes      | `broad_search`, `medium_search`, `narrow_search`            | `medium_search` |
| `similarity_threshold` | string | yes      | `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, `100` | `80`            |
| `banned_types`         | array  | no       | See list below; empty array = all                           | `[]` (all)      |

`banned_types` may include any of:

| Value                          | Meaning                                                                                                                          |
|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| `afs_banned_disqualified`      | AFS-licensed financial service providers banned or disqualified under s. 922A(2) of the Corporations Act 2001                    |
| `banned_futures`               | Banned futures representatives register (pre-AFS licences)                                                                       |
| `banned_securities`            | Banned securities representatives register (pre-AFS licences)                                                                    |
| `credit_banned_disqualified`   | Persons subject to a banning order or disqualification order under Part 2-4 of the NCCP Act                                      |
| `disqualified_director`        | Company directors and other office holders disqualified under s. 1274AA of the Corporations Act 2001                             |
| `disqualified_smsf`            | Disqualified SMSF auditors per s. 130F of the SIS Act                                                                            |
| `ato_disqualified_trustee`     | Persons disqualified by the ATO from acting as the trustee of a self-managed superannuation fund                                 |

## business_check - Australian Business Screening (ABN / ACN)

| Key                       | Type   | Required | Allowed values                                                       | Default   |
|---------------------------|--------|----------|----------------------------------------------------------------------|-----------|
| `name_match`              | string | yes      | `exact`, `similar`, `no`                                             | `similar` |
| `abn_active`              | string | yes      | `yes` (alert if not active), `on_change`, `no`                       | `yes`     |
| `acn_active`              | string | yes      | `yes` (alert if not active), `on_change`, `no`                       | `yes`     |
| `gst_registered`          | string | yes      | `yes` (alert if not registered), `on_change`, `no`                   | `yes`     |
| `recent_documents`        | string | yes      | `no`, `1`, `2`, `3`, `6`, `12` (months)                              | `3`       |
| `recent_business_names`   | string | yes      | `no`, `1`, `2`, `3`, `6`, `12` (months)                              | `3`       |

- The "months" keys are strings, not integers (`"3"`, not `3`). `no` means "do not alert on this signal".
- `on_change` means alert whenever the value transitions between runs (e.g. ABN becomes inactive, or business address changes).

## uk_business_check - UK Companies House Screening

| Key                           | Type   | Required | Allowed values                                     | Default     |
|-------------------------------|--------|----------|----------------------------------------------------|-------------|
| `name_match`                  | string | yes      | `exact`, `similar`, `no`                           | `similar`   |
| `company_status`              | string | yes      | `yes` (alert if not active), `on_change`, `no`     | `yes`       |
| `recent_filings`              | string | yes      | `no`, `1`, `2`, `3`, `6`, `12` (months)            | `3`         |
| `officer_changes`             | string | yes      | `no`, `1`, `2`, `3`, `6`, `12` (months)            | `3`         |
| `registered_address_change`   | string | yes      | `on_change`, `no`                                  | `on_change` |
| `sic_codes_change`            | string | yes      | `on_change`, `no`                                  | `on_change` |

## court_check - Court Records Screening

| Key            | Type   | Required | Allowed values                              | Default     |
|----------------|--------|----------|---------------------------------------------|-------------|
| `listing`      | string | yes      | `all`, `civil`, `criminal`                  | `criminal`  |
| `search_party` | string | yes      | `any`, `plaintiff`, `defendant`             | `defendant` |

## realestate_check - Real Estate Screening

| Key         | Type   | Required | Allowed values                                                                                  | Default |
|-------------|--------|----------|-------------------------------------------------------------------------------------------------|---------|
| `date_from` | string | no       | ISO 8601 date (`YYYY-MM-DD`), or `null` to consider all available history                       | `null`  |

## adc_check - ADC Deceased Screening

This operation has no configuration keys. Send `"config": {}` (or omit the field entirely on create).

## adc_custodian_check - Custodian Deceased Screening

This operation has no configuration keys. Send `"config": {}` (or omit the field entirely on create).

## adverse_media - Adverse Media Screening

This operation has no configuration keys. Send `"config": {}` (or omit the field entirely on create).

## email_check - Email Screening

This operation has no configuration keys. Send `"config": {}` (or omit the field entirely on create).

## phone_check - Phone Screening

This operation has no configuration keys. Send `"config": {}` (or omit the field entirely on create).
