# Show an adhoc check

`GET /adhoc-checks/{adhoc_check_uuid}`

- Base: `GET https://portal.watcheye.com.au/api/v1/adhoc-checks/{adhoc_check_uuid}`

Returns a single adhoc check by its UUID, including:

* The base envelope (`created_by`, outcome, timestamps, etc.) - same shape as the
  [list endpoint](/docs/reference/adhoc-check.list)
* `results_overview[]` - one row per result, with a uniform `{title, status, alert_ids}`
  shape across all operation types
* `children[]` - per-child summaries when the check is a group; empty otherwise
* `details` - the typed per-operation details block. The exact shape depends on
  `check_type` and uses the same per-operation discriminated union as the
  [entity check show](/docs/reference/check.show) endpoint. Group checks
  (`check_type = group`) always return `details: null` - fetch each child via this
  endpoint to read its typed details.

## PDF version

A printable PDF of the adhoc check (including subject, configuration and per-match
details) is available via the [PDF download](/docs/reference/adhoc-check.pdf) endpoint.

## Parameters

| Name | In | Type | Description |
|------|----|------|-------------|
| `adhoc_check_uuid` | path | string (uuid) | **Required.** The adhoc check UUID |

## Responses

### 200 Adhoc check response

Content type: `application/json`

| Field | Type | Description |
|-------|------|-------------|
| `data` | object | Same as AdhocCheck, plus the uniform `results_overview` and `children` arrays and the typed per-operation `details` block. Returned by the show endpoint so callers do not need a follow-up request to read match-level data. |
| `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 Example: `Q-A1B2CD` |
| `data.check_type` | string | The type of check that was run (see AdhocCheck.check_type) Example: `pep_sanction_check` |
| `data.check_type_name` | string | Display name for the check type Example: `PEP and Sanction Screening` |
| `data.status` | string | Lifecycle status of the adhoc check (see AdhocCheck.status) Enum: `pending`, `processing`, `complete`, `failed` Example: `complete` |
| `data.failed_reason` | string or null | Short reason why the check failed (see AdhocCheck.failed_reason) |
| `data.outcome` | string or null | High-level outcome of the check (see AdhocCheck.outcome) Enum: `pass`, `warning` Example: `warning` |
| `data.check_summary` | string or null | Short, human-readable summary of the result Example: `Found 2 PEP matches` |
| `data.data_summary` | string or null | Short, human-readable summary of the subject the check ran against Example: `John A Smith, 1980-06-23` |
| `data.checked_at` | string (date-time) or null | Example: `2025-01-01T00:00:00Z` |
| `data.created_by` | object or null | Actor who launched the adhoc check - see AdhocCheck.created_by |
| `data.created_by.type` | string | Enum: `user`, `api_key` |
| `data.created_by.uuid` | string (uuid) |  |
| `data.created_by.username` | string | Present only when `type` is `user`. |
| `data.created_by.label` | string | Present only when `type` is `api_key`. |
| `data.parent_uuid` | string (uuid) or null |  |
| `data.results_overview` | array of objects | A uniform per-result summary across all operation types. Empty for group checks and for operations that pack everything into a single record (in which case `details.record` carries the full data). |
| `data.results_overview[].title` | string | Short label for the result, suitable for display in a list (e.g. "Match 1: John Smith - PEP", "0412 345 678 (Connected)", "5 records at 12 Main St, Sydney"). Example: `Match 1: John Smith - PEP` |
| `data.results_overview[].status` | string | Per-result status: * `pass` - this individual result is clean * `warning` - this individual result needs review (the default for any non-pass row when an operation does not assign a finer-grained status) * `fail` - this individual result is a definitive failure (used by email and phone checks for undeliverable / disconnected entries) Enum: `pass`, `warning`, `fail` Example: `warning` |
| `data.results_overview[].alert_ids` | array of strings | Provider-side identifiers for the alert(s) this row generated. Use these to match up against `check_result_ids` on a related event from the [events](/docs/reference/event.list) endpoint. Empty when the result is `pass`. |
| `data.children` | array of objects | Summaries of the child adhoc checks for a group check. Empty for non-group checks. Fetch each child via the [show adhoc check](/docs/reference/adhoc-check.show) endpoint to get its full payload. |
| `data.children[].uuid` | string (uuid) | Example: `6f9e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f` |
| `data.children[].check_number` | string | Example: `Q-A1B2CD` |
| `data.children[].check_type` | string | Example: `pep_sanction_check` |
| `data.children[].check_type_name` | string | Example: `PEP and Sanction Screening` |
| `data.children[].status` | string | Lifecycle status of the child check (see AdhocCheck.status) Enum: `pending`, `processing`, `complete`, `failed` Example: `complete` |
| `data.children[].failed_reason` | string or null | Short reason why the child check failed (see AdhocCheck.failed_reason) |
| `data.children[].outcome` | string or null | Enum: `pass`, `warning` Example: `warning` |
| `data.children[].check_summary` | string or null | Short human-readable summary of the child adhoc check result (see AdhocCheck.check_summary). `null` while the child is pending / processing or when the child has no summary. Example: `Found 2 PEP matches` |
| `data.children[].checked_at` | string (date-time) or null | Example: `2025-01-01T00:00:00Z` |
| `data.details` | one of 11 shapes | One of: object 1; object 2; object 3; object 4; object 5; object 6; object 7; object 8; object 9; object 10; object 11. Typed per-operation details for the check. `null` for group checks. The exact shape depends on the `check_type` and uses the same per-operation schemas as the entity checks endpoint: * `pep_sanction_check` - see CheckDetailsPepSanction * `adverse_media` - see CheckDetailsAdverseMedia * `adc_check` - see CheckDetailsAdc * `adc_custodian_check` - see CheckDetailsAdcCustodian * `banned_disqualified_persons` - see CheckDetailsBannedDisqualified * `court_check` - see CheckDetailsCourt * `email_check` - see CheckDetailsEmail * `phone_check` - see CheckDetailsPhone * `business_check` - see CheckDetailsBusiness * `uk_business_check` - see CheckDetailsUkBusiness * `realestate_check` - see CheckDetailsRealEstate |
| `data.details (object 1).subject` | object |  |
| `data.details (object 1).subject.full_name` | string or null | Example: `John Smith` |
| `data.details (object 1).subject.first_name` | string or null | Example: `John` |
| `data.details (object 1).subject.middle_name` | string or null | Example: `Albert` |
| `data.details (object 1).subject.last_name` | string or null | Example: `Smith` |
| `data.details (object 1).subject.dob` | string or null | Example: `1980-06-23` |
| `data.details (object 1).subject.business_name` | string or null |  |
| `data.details (object 1).subject.vessel_name` | string or null |  |
| `data.details (object 1).subject.address_country` | string or null | Example: `AU` |
| `data.details (object 1).config` | object |  |
| `data.details (object 1).config.search_type` | string or null | Enum: `broad_search`, `medium_search`, `narrow_search` Example: `medium_search` |
| `data.details (object 1).config.similarity_threshold` | integer or null | Example: `80` |
| `data.details (object 1).config.pep_countries` | array of strings |  |
| `data.details (object 1).config.sanction_countries` | array of strings |  |
| `data.details (object 1).config.max_results` | integer or null | Example: `25` |
| `data.details (object 1).config.extended_result` | boolean | Example: `true` |
| `data.details (object 1).results` | array of objects |  |
| `data.details (object 1).results[].uuid` | string or null | Provider-side identifier for the match. Example: `NK-12345` |
| `data.details (object 1).results[].name` | string or null | Canonical name on the matched record. Example: `John Albert Smith` |
| `data.details (object 1).results[].matched_name` | string or null | The name (or alias) on the matched record that scored against the subject's name. Example: `J A Smith` |
| `data.details (object 1).results[].similarity` | number (float) or null | Match similarity score from 0.0 to 1.0 (1.0 is an exact match). `null` for some extended-result records where similarity is not produced. Example: `0.95` |
| `data.details (object 1).results[].is_pep` | boolean | True when the matched record is on a PEP list. Example: `true` |
| `data.details (object 1).results[].is_sanctioned` | boolean | True when the matched record is on a sanctions list. Example: `false` |
| `data.details (object 1).results[].pep_matches` | array of objects | Per-list PEP source records that contributed to this match (e.g. country lists, international PEP databases). Shape varies by source. |
| `data.details (object 1).results[].sanction_matches` | array of objects | Per-list sanction source records that contributed to this match (e.g. UN, OFAC, DFAT). Shape varies by source. |
| `data.details (object 1).results[].record` | object | Top-level metadata about the matched record. |
| `data.details (object 1).results[].record.id` | string or null | Example: `Q12345` |
| `data.details (object 1).results[].record.caption` | string or null | Display name for the matched record. Example: `John Albert Smith` |
| `data.details (object 1).results[].record.schema` | string or null | What the matched record represents (e.g. `Person`, `Vessel`, `Organization`). See the upstream OpenSanctions documentation for the full vocabulary. Example: `Person` |
| `data.details (object 1).results[].record.first_seen` | string (date-time) or null | Example: `2018-01-01T00:00:00Z` |
| `data.details (object 1).results[].record.last_seen` | string (date-time) or null | Example: `2025-01-01T00:00:00Z` |
| `data.details (object 1).results[].record.last_change` | string (date-time) or null | Example: `2024-12-01T00:00:00Z` |
| `data.details (object 1).results[].properties` | object | Known properties of the matched record. Most fields are arrays because the matched record can carry multiple values (e.g. multiple birthdates, multiple aliases). |
| `data.details (object 1).results[].properties.birth_date` | array of strings |  |
| `data.details (object 1).results[].properties.death_date` | array of strings |  |
| `data.details (object 1).results[].properties.gender` | array of strings |  |
| `data.details (object 1).results[].properties.nationality` | array of strings |  |
| `data.details (object 1).results[].properties.citizenship` | array of strings |  |
| `data.details (object 1).results[].properties.birth_place` | array of strings |  |
| `data.details (object 1).results[].properties.aliases` | array of strings |  |
| `data.details (object 1).results[].properties.positions` | array of strings |  |
| `data.details (object 1).results[].properties.phone` | array of strings |  |
| `data.details (object 1).results[].properties.email` | array of strings |  |
| `data.details (object 1).results[].properties.address` | array of strings |  |
| `data.details (object 1).results[].properties.education` | array of strings |  |
| `data.details (object 1).results[].properties.religion` | array of strings |  |
| `data.details (object 1).results[].properties.notes` | array of strings |  |
| `data.details (object 1).results[].properties.wikidata_id` | array of strings |  |
| `data.details (object 1).results[].properties.source_urls` | array of strings |  |
| `data.details (object 1).results[].properties.websites` | array of strings |  |
| `data.details (object 2).subject` | object |  |
| `data.details (object 2).subject.first_name` | string or null |  |
| `data.details (object 2).subject.middle_name` | string or null |  |
| `data.details (object 2).subject.last_name` | string or null |  |
| `data.details (object 2).subject.dob` | string or null |  |
| `data.details (object 2).subject.business_name` | string or null |  |
| `data.details (object 2).subject.address_country` | string or null |  |
| `data.details (object 2).config` | object or null | Adverse media checks have no configurable options. |
| `data.details (object 2).results` | array of objects |  |
| `data.details (object 2).results[].name` | string or null | Example: `John A Smith` |
| `data.details (object 2).results[].age` | string or null | Example: `45` |
| `data.details (object 2).results[].location` | string or null | Example: `Sydney, AU` |
| `data.details (object 2).results[].summary` | string or null | Example: `Local businessman charged with fraud...` |
| `data.details (object 2).results[].links` | array of strings |  |
| `data.details (object 2).results[].categories` | array of strings | Categories assigned to the matched coverage (e.g. `financial_crime`, `violent_crime`, `regulatory_action`, `terrorism`). See the portal for the full category list. |
| `data.details (object 3).subject` | object |  |
| `data.details (object 3).subject.first_name` | string or null |  |
| `data.details (object 3).subject.middle_name` | string or null |  |
| `data.details (object 3).subject.last_name` | string or null |  |
| `data.details (object 3).subject.dob` | string or null |  |
| `data.details (object 3).subject.address_state` | string or null |  |
| `data.details (object 3).config` | object or null | ADC checks have no configurable options. |
| `data.details (object 3).results` | array of objects |  |
| `data.details (object 3).results[].reference` | string or null | Reference for the matched death record. Example: `ADC-12345` |
| `data.details (object 3).results[].first_name` | string or null | Example: `John` |
| `data.details (object 3).results[].middle_name` | string or null | Example: `Albert` |
| `data.details (object 3).results[].last_name` | string or null | Example: `Smith` |
| `data.details (object 3).results[].date_of_birth` | string or null | Example: `1940-06-23` |
| `data.details (object 3).results[].date_of_death` | string or null | Example: `2024-01-15` |
| `data.details (object 3).results[].date_of_death_range` | string or null | Approximate date-of-death range when an exact date is not available (e.g. "2024-01" or "2024"). |
| `data.details (object 3).results[].state` | string or null | Example: `NSW` |
| `data.details (object 4).subject` | object |  |
| `data.details (object 4).subject.first_name` | string or null |  |
| `data.details (object 4).subject.middle_name` | string or null |  |
| `data.details (object 4).subject.last_name` | string or null |  |
| `data.details (object 4).subject.dob` | string or null |  |
| `data.details (object 4).subject.address_state` | string or null |  |
| `data.details (object 4).config` | object or null |  |
| `data.details (object 4).results` | array of objects |  |
| `data.details (object 4).results[].reference` | string or null | Reference for the matched death record. Example: `ADC-12345` |
| `data.details (object 4).results[].first_name` | string or null | Example: `John` |
| `data.details (object 4).results[].middle_name` | string or null | Example: `Albert` |
| `data.details (object 4).results[].last_name` | string or null | Example: `Smith` |
| `data.details (object 4).results[].date_of_birth` | string or null | Example: `1940-06-23` |
| `data.details (object 4).results[].date_of_death` | string or null | Example: `2024-01-15` |
| `data.details (object 4).results[].date_of_death_range` | string or null | Approximate date-of-death range when an exact date is not available (e.g. "2024-01" or "2024"). |
| `data.details (object 4).results[].state` | string or null | Example: `NSW` |
| `data.details (object 5).subject` | object |  |
| `data.details (object 5).subject.first_name` | string or null |  |
| `data.details (object 5).subject.middle_name` | string or null |  |
| `data.details (object 5).subject.last_name` | string or null |  |
| `data.details (object 5).subject.address_state` | string or null |  |
| `data.details (object 5).subject.address_country` | string or null |  |
| `data.details (object 5).config` | object |  |
| `data.details (object 5).config.search_type` | string or null | Enum: `broad_search`, `medium_search`, `narrow_search` Example: `medium_search` |
| `data.details (object 5).config.similarity_threshold` | integer or null | Example: `80` |
| `data.details (object 5).config.banned_types` | array of strings | The banned-type registers the check was configured to look at. Empty array means all registers. Enum: `afs_banned_disqualified`, `banned_futures`, `banned_securities`, `credit_banned_disqualified`, `disqualified_director`, `disqualified_smsf`, `ato_disqualified_trustee` |
| `data.details (object 5).results` | array of objects |  |
| `data.details (object 5).results[].first_name` | string or null |  |
| `data.details (object 5).results[].middle_name` | string or null |  |
| `data.details (object 5).results[].last_name` | string or null |  |
| `data.details (object 5).results[].banned_type` | string or null | Which banned-type register the match came from (see config.banned_types). Example: `disqualified_director` |
| `data.details (object 5).results[].start_date` | string or null | Example: `2022-04-01` |
| `data.details (object 5).results[].end_date` | string or null | Example: `2027-04-01` |
| `data.details (object 5).results[].document_number` | string or null | Provider-side document identifier for the matched record. Example: `ASIC-12345` |
| `data.details (object 5).results[].address` | object |  |
| `data.details (object 5).results[].address.suburb` | string or null | Example: `Sydney` |
| `data.details (object 5).results[].address.postcode` | string or null | Example: `2000` |
| `data.details (object 5).results[].address.state` | string or null | Example: `NSW` |
| `data.details (object 5).results[].address.country` | string or null | Example: `AU` |
| `data.details (object 5).results[].comments` | string or null | Example: `Disqualified for 5 years following insolvent trading.` |
| `data.details (object 5).results[].source_url` | string or null | Example: `https://asic.gov.au/example` |
| `data.details (object 6).subject` | object |  |
| `data.details (object 6).subject.first_name` | string or null |  |
| `data.details (object 6).subject.middle_name` | string or null |  |
| `data.details (object 6).subject.last_name` | string or null |  |
| `data.details (object 6).subject.business_name` | string or null |  |
| `data.details (object 6).subject.address_state` | string or null |  |
| `data.details (object 6).config` | object |  |
| `data.details (object 6).config.listing` | string or null | Enum: `all`, `civil`, `criminal` Example: `criminal` |
| `data.details (object 6).config.search_party` | string or null | Enum: `any`, `plaintiff`, `defendant` Example: `defendant` |
| `data.details (object 6).results` | array of objects |  |
| `data.details (object 6).results[].name` | string or null |  |
| `data.details (object 6).results[].cases` | array of objects |  |
| `data.details (object 6).results[].cases[].case_no` | string or null | Example: `2023/00123456` |
| `data.details (object 6).results[].cases[].listing` | string or null | Enum: `all`, `civil`, `criminal` Example: `criminal` |
| `data.details (object 6).results[].cases[].state` | string or null | Example: `NSW` |
| `data.details (object 6).results[].cases[].records` | array of objects | One entry per listing or hearing recorded for the case. |
| `data.details (object 6).results[].cases[].records[].date` | string or null | Example: `2023-05-12` |
| `data.details (object 6).results[].cases[].records[].case_title` | string or null | Example: `R v SMITH John` |
| `data.details (object 6).results[].cases[].records[].case_no` | string or null | Example: `2023/00123456` |
| `data.details (object 6).results[].cases[].records[].court` | string or null | Example: `Local Court` |
| `data.details (object 6).results[].cases[].records[].state` | string or null | Example: `NSW` |
| `data.details (object 6).results[].cases[].records[].location` | string or null | Example: `Downing Centre` |
| `data.details (object 6).results[].cases[].records[].court_room` | string or null | Example: `Court 4.3` |
| `data.details (object 6).results[].cases[].records[].listing_type` | string or null | Example: `Mention` |
| `data.details (object 6).results[].cases[].records[].additional_info` | string or null |  |
| `data.details (object 6).results[].cases[].records[].additional_info_1` | string or null |  |
| `data.details (object 6).results[].cases[].records[].additional_info_2` | string or null |  |
| `data.details (object 6).results[].cases[].records[].additional_info_3` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_1` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_2` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_3` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_4` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_5` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_6` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_7` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_8` | string or null |  |
| `data.details (object 6).results[].cases[].records[].misc_9` | string or null |  |
| `data.details (object 7).subject` | object |  |
| `data.details (object 7).subject.emails` | array of strings | The email addresses on the entity at the time of the check. |
| `data.details (object 7).config` | object or null | Email checks have no configurable options. |
| `data.details (object 7).results` | array of objects |  |
| `data.details (object 7).results[].email` | string or null | Example: `jane@example.com` |
| `data.details (object 7).results[].ping_result` | string or null | Raw ping result from the verification provider: * `Y` - deliverable * `N` - undeliverable * `U` - undetermined * `I` - invalid Enum: `Y`, `N`, `U`, `I` Example: `Y` |
| `data.details (object 7).results[].info` | string or null | Raw info field from the verification provider, typically of the form `"<category>: <detail>"`. Example: `Deliverable:` |
| `data.details (object 7).results[].result_status` | string or null | Parsed top-level status: * `valid`, `invalid`, `catch-all`, `spamtrap`, `abuse`, `do_not_mail`, `toxic`, `unknown` Example: `valid` |
| `data.details (object 7).results[].result_sub_status` | string or null | Parsed sub-status providing additional detail on the result (e.g. `does_not_accept_mail`, `mailbox_not_found`, `role_based`, `disposable`). Example: `` |
| `data.details (object 7).results[].result_label` | string or null | Display-friendly label for the status (e.g. "Valid", "Mailbox not found"). Example: `Valid` |
| `data.details (object 7).results[].result_description` | string or null | Human-readable description of what the status means. Example: `This email address has been verified as valid and deliverable.` |
| `data.details (object 7).results[].ok_to_send` | string or null | Convenience flag indicating whether it is safe to send email to this address: * `Y` - safe to send * `N` - do not send * `U` - unknown (use your own judgement) Enum: `Y`, `N`, `U` Example: `Y` |
| `data.details (object 7).results[].status` | string | Normalised per-result status used in `results_overview` (`pass` when `ok_to_send` is `Y`, `fail` when `N`, `warning` otherwise). Enum: `pass`, `warning`, `fail` Example: `pass` |
| `data.details (object 8).subject` | object |  |
| `data.details (object 8).subject.phones` | array of strings | The phone numbers on the entity at the time of the check. |
| `data.details (object 8).config` | object or null | Phone checks have no configurable options. |
| `data.details (object 8).results` | array of objects |  |
| `data.details (object 8).results[].phone` | string or null | Example: `0412345678` |
| `data.details (object 8).results[].ping_result` | string or null | Raw ping result from the verification provider: * `C` - connected * `D` - disconnected * `U` - undetermined * `I` - invalid Enum: `C`, `D`, `U`, `I` Example: `C` |
| `data.details (object 8).results[].ping_result_label` | string or null | Display-friendly label for the ping result. Example: `Connected` |
| `data.details (object 8).results[].info` | string or null |  |
| `data.details (object 8).results[].carrier` | string or null | Carrier the number is provisioned on, when available. Example: `Telstra` |
| `data.details (object 8).results[].geo_location` | string or null | Geographic location for the number, when available. Example: `Sydney, NSW` |
| `data.details (object 8).results[].status` | string | Normalised per-result status used in `results_overview` (`pass` when `ping_result` is `C`, `fail` when `D` or `I`, `warning` otherwise). Enum: `pass`, `warning`, `fail` Example: `pass` |
| `data.details (object 9).subject` | object |  |
| `data.details (object 9).subject.business_number_type` | string or null | Enum: `au_abn`, `au_acn` Example: `au_abn` |
| `data.details (object 9).subject.business_number` | string or null | Example: `12345678901` |
| `data.details (object 9).subject.business_name` | string or null | Example: `Acme Pty Ltd` |
| `data.details (object 9).config` | object |  |
| `data.details (object 9).config.name_match` | string or null | Enum: `exact`, `similar`, `no` Example: `similar` |
| `data.details (object 9).config.abn_active` | string or null | Enum: `yes`, `on_change`, `no` Example: `yes` |
| `data.details (object 9).config.acn_active` | string or null | Enum: `yes`, `on_change`, `no` Example: `yes` |
| `data.details (object 9).config.gst_registered` | string or null | Enum: `yes`, `on_change`, `no` Example: `yes` |
| `data.details (object 9).config.recent_documents` | string or null | Enum: `no`, `1`, `2`, `3`, `6`, `12` Example: `3` |
| `data.details (object 9).config.recent_business_names` | string or null | Enum: `no`, `1`, `2`, `3`, `6`, `12` Example: `3` |
| `data.details (object 9).record` | object or null | The matched business record. `null` when no record was found for the supplied ABN/ACN; the `sub_checks[]` array will then contain a single failed `record_exists` entry on a non-null record value, or `null` here when nothing came back. |
| `data.details (object 9).record.name` | string or null | Example: `Acme Pty Ltd` |
| `data.details (object 9).record.type` | string or null | Entity type (e.g. "Australian Private Company"). Example: `Australian Private Company` |
| `data.details (object 9).record.address` | object |  |
| `data.details (object 9).record.address.locality` | string or null |  |
| `data.details (object 9).record.address.state` | string or null |  |
| `data.details (object 9).record.address.postcode` | string or null |  |
| `data.details (object 9).record.name_history` | array of objects | All previous entity names recorded against the ABN. |
| `data.details (object 9).record.name_history[].name` | string or null |  |
| `data.details (object 9).record.name_history[].entity_name` | string or null |  |
| `data.details (object 9).record.name_history[].from` | string or null | Example: `2010-01-15` |
| `data.details (object 9).record.name_history[].to` | string or null |  |
| `data.details (object 9).record.abn` | string or null | Example: `12345678901` |
| `data.details (object 9).record.abn_status` | string or null | Current ABN status (`active` or `cancelled`). Example: `active` |
| `data.details (object 9).record.abn_gst_registered` | boolean or null | Example: `true` |
| `data.details (object 9).record.business_names` | array of objects | All business names registered against the ABN. |
| `data.details (object 9).record.business_names[].name` | string or null |  |
| `data.details (object 9).record.business_names[].entity_name` | string or null |  |
| `data.details (object 9).record.business_names[].from` | string or null | Example: `2010-01-15` |
| `data.details (object 9).record.business_names[].to` | string or null |  |
| `data.details (object 9).record.acn` | string or null | Example: `123456789` |
| `data.details (object 9).record.acn_status` | string or null | Current ACN status (e.g. `registered`, `deregistered`). Example: `registered` |
| `data.details (object 9).record.asic_registration_date` | string or null | Example: `2010-01-15` |
| `data.details (object 9).record.asic_review_date` | string or null | Example: `2025-01-15` |
| `data.details (object 9).record.asic_deregistered_date` | string or null |  |
| `data.details (object 9).record.asic_recent_documents` | array of objects | ASIC documents lodged against the record. |
| `data.details (object 9).record.asic_recent_documents[].date` | string or null | Example: `2024-12-01` |
| `data.details (object 9).record.asic_recent_documents[].form_code` | string or null | Example: `484` |
| `data.details (object 9).record.asic_recent_documents[].description` | string or null | Example: `Change to company details` |
| `data.details (object 9).record.asic_recent_documents[].document_number` | string or null | Example: `1A2B3C4D` |
| `data.details (object 9).record.asic_recent_documents[].sub_documents` | array of objects | Sub-documents associated with the parent document, when available. |
| `data.details (object 9).record.asic_recent_business_names` | array of objects | Recently registered business names. |
| `data.details (object 9).record.asic_recent_business_names[].name` | string or null |  |
| `data.details (object 9).record.asic_recent_business_names[].entity_name` | string or null |  |
| `data.details (object 9).record.asic_recent_business_names[].from` | string or null | Example: `2010-01-15` |
| `data.details (object 9).record.asic_recent_business_names[].to` | string or null |  |
| `data.details (object 9).record.sub_checks` | array of objects | Per-sub-check evaluation against the matched record. Each sub-check carries its own pass/fail and mode (`alert`, `on_change`, `observe`) so you can tell which sub-checks contributed to the top-level outcome. |
| `data.details (object 9).record.sub_checks[].check` | string or null | Which sub-check this row represents (e.g. `record_exists`, `name_match`, `abn_active`, `acn_active`, `gst_registered`, `recent_documents`, `recent_business_names`). Example: `abn_active` |
| `data.details (object 9).record.sub_checks[].passed` | boolean or null | `true` when the sub-check passed, `false` when it failed, `null` when the sub-check had no data to evaluate (e.g. `acn_active` on a record with no ACN). Example: `true` |
| `data.details (object 9).record.sub_checks[].result` | string or null | Human-readable result message for the sub-check. Example: `ABN active` |
| `data.details (object 9).record.sub_checks[].mode` | string or null | Enum: `alert`, `on_change`, `observe` Example: `alert` |
| `data.details (object 9).record.sub_checks[].document_numbers` | array of strings | Document numbers contributing to a `recent_documents` sub-check. |
| `data.details (object 9).record.sub_checks[].business_names` | array of strings | Business names contributing to a `recent_business_names` sub-check. |
| `data.details (object 10).subject` | object |  |
| `data.details (object 10).subject.business_number_type` | string or null | Enum: `uk_crn` Example: `uk_crn` |
| `data.details (object 10).subject.business_number` | string or null | Example: `12345678` |
| `data.details (object 10).subject.business_name` | string or null | Example: `Acme Limited` |
| `data.details (object 10).config` | object |  |
| `data.details (object 10).config.name_match` | string or null | Enum: `exact`, `similar`, `no` Example: `similar` |
| `data.details (object 10).config.company_status` | string or null | Enum: `yes`, `on_change`, `no` Example: `yes` |
| `data.details (object 10).config.recent_filings` | string or null | Enum: `no`, `1`, `2`, `3`, `6`, `12` Example: `3` |
| `data.details (object 10).config.officer_changes` | string or null | Enum: `no`, `1`, `2`, `3`, `6`, `12` Example: `3` |
| `data.details (object 10).config.registered_address_change` | string or null | Enum: `on_change`, `no` Example: `on_change` |
| `data.details (object 10).config.sic_codes_change` | string or null | Enum: `on_change`, `no` Example: `on_change` |
| `data.details (object 10).record` | object or null |  |
| `data.details (object 10).record.company_name` | string or null | Example: `Acme Limited` |
| `data.details (object 10).record.company_number` | string or null | Example: `12345678` |
| `data.details (object 10).record.company_status` | string or null | Current company status (e.g. `active`, `dissolved`, `liquidation`). Example: `active` |
| `data.details (object 10).record.type` | string or null | Example: `ltd` |
| `data.details (object 10).record.registered_office_address` | object (dynamic) or null | Registered office address record from Companies House. The shape mirrors the upstream object and is exposed as-is. |
| `data.details (object 10).record.date_of_creation` | string or null | Example: `2010-04-01` |
| `data.details (object 10).record.date_of_cessation` | string or null |  |
| `data.details (object 10).record.previous_company_names` | array of objects |  |
| `data.details (object 10).record.sic_codes` | array of strings |  |
| `data.details (object 10).record.officers` | array of objects |  |
| `data.details (object 10).record.officers[].name` | string or null | Example: `SMITH, John Albert` |
| `data.details (object 10).record.officers[].appointed_on` | string or null | Example: `2010-04-01` |
| `data.details (object 10).record.officers[].resigned_on` | string or null |  |
| `data.details (object 10).record.officers[].officer_id` | string or null | Example: `abcDEF123` |
| `data.details (object 10).record.officers[].officer_role` | string or null | Example: `director` |
| `data.details (object 10).record.filing_history` | array of objects |  |
| `data.details (object 10).record.filing_history[].date` | string or null | Example: `2024-12-01` |
| `data.details (object 10).record.filing_history[].type` | string or null | Example: `AA` |
| `data.details (object 10).record.filing_history[].description` | string or null | Example: `accounts-with-accounts-type-small` |
| `data.details (object 10).record.filing_history[].transaction_id` | string or null | Example: `MzM5OTQ0NzU4MGFkaXF6a2N4` |
| `data.details (object 10).record.filing_history[].document_id` | string or null | Example: `MzM5OTQ0NzU4MGFkaXF6a2N4` |
| `data.details (object 10).record.sub_checks` | array of objects |  |
| `data.details (object 10).record.sub_checks[].check` | string or null | Which sub-check this row represents (e.g. `record_exists`, `name_match`, `company_status`, `recent_filings`, `officer_changes`, `registered_address_change`, `sic_codes_change`). Example: `company_status` |
| `data.details (object 10).record.sub_checks[].passed` | boolean or null |  |
| `data.details (object 10).record.sub_checks[].result` | string or null |  |
| `data.details (object 10).record.sub_checks[].mode` | string or null | Enum: `alert`, `on_change`, `observe` |
| `data.details (object 10).record.sub_checks[].filing_ids` | array of strings | Filing IDs contributing to a `recent_filings` sub-check. |
| `data.details (object 10).record.sub_checks[].officer_ids` | array of strings | Officer IDs contributing to an `officer_changes` sub-check. |
| `data.details (object 10).record.sub_checks[].address_hash` | string or null | Stable hash of the registered office address used by `registered_address_change` to detect changes between runs. |
| `data.details (object 10).record.sub_checks[].sic_hash` | string or null | Stable hash of the SIC codes used by `sic_codes_change`. |
| `data.details (object 11).subject` | object |  |
| `data.details (object 11).subject.address_country` | string or null | Example: `AU` |
| `data.details (object 11).subject.address_line1` | string or null | Example: `12 Main St` |
| `data.details (object 11).subject.address_line2` | string or null |  |
| `data.details (object 11).subject.address_suburb` | string or null | Example: `Sydney` |
| `data.details (object 11).subject.address_state` | string or null | Example: `NSW` |
| `data.details (object 11).subject.address_postcode` | string or null | Example: `2000` |
| `data.details (object 11).config` | object |  |
| `data.details (object 11).config.date_from` | string or null | Optional lower bound (inclusive) on listing dates returned. Example: `2020-01-01` |
| `data.details (object 11).results` | array of objects |  |
| `data.details (object 11).results[].address` | object |  |
| `data.details (object 11).results[].address.address` | string or null | Example: `12 Main St` |
| `data.details (object 11).results[].address.suburb` | string or null | Example: `Sydney` |
| `data.details (object 11).results[].address.state` | string or null | Example: `NSW` |
| `data.details (object 11).results[].address.postcode` | string or null | Example: `2000` |
| `data.details (object 11).results[].address.address_id` | string or null | Example: `rea-12345` |
| `data.details (object 11).results[].listings` | array of objects |  |
| `data.details (object 11).results[].listings[].listing_type` | string or null | Type of listing (e.g. `sale`, `rent`, `sold`). Vocabulary mirrors the upstream provider. Example: `sold` |
| `data.details (object 11).results[].listings[].date` | string or null | Example: `2024-08-12` |
| `data.details (object 11).results[].listings[].property_type` | string or null | Example: `House` |
| `data.details (object 11).results[].listings[].price` | string or null | Example: `$1,250,000` |
| `data.details (object 11).results[].listings[].num_bedrooms` | integer or null | Example: `4` |
| `data.details (object 11).results[].listings[].num_bathrooms` | integer or null | Example: `2` |
| `data.details (object 11).results[].listings[].num_car_spaces` | integer or null | Example: `2` |
| `data.details (object 11).results[].listings[].estate_agent` | string or null | Example: `Sample Realty` |
| `api_reference` | string (uuid) |  |

**Sample response**

```json
{
    "data": {
        "uuid": "6f9e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f",
        "check_number": "Q-A1B2CD",
        "check_type": "pep_sanction_check",
        "check_type_name": "PEP and Sanction Screening",
        "status": "complete",
        "failed_reason": null,
        "outcome": "warning",
        "check_summary": "Found 2 PEP matches",
        "data_summary": "John A Smith, 1980-06-23",
        "checked_at": "2025-01-01T00:00:00Z",
        "created_by": {
            "type": "user",
            "uuid": "00000000-0000-0000-0000-000000000000",
            "username": "string",
            "label": "string"
        },
        "parent_uuid": "00000000-0000-0000-0000-000000000000",
        "results_overview": [
            {
                "title": "Match 1: John Smith - PEP",
                "status": "warning",
                "alert_ids": [
                    "NK-12345"
                ]
            }
        ],
        "children": [
            {
                "uuid": "6f9e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f",
                "check_number": "Q-A1B2CD",
                "check_type": "pep_sanction_check",
                "check_type_name": "PEP and Sanction Screening",
                "status": "complete",
                "failed_reason": null,
                "outcome": "warning",
                "check_summary": "Found 2 PEP matches",
                "checked_at": "2025-01-01T00:00:00Z"
            }
        ],
        "details": {
            "subject": {
                "full_name": "John Smith",
                "first_name": "John",
                "middle_name": "Albert",
                "last_name": "Smith",
                "dob": "1980-06-23",
                "business_name": null,
                "vessel_name": null,
                "address_country": "AU"
            },
            "config": {
                "search_type": "medium_search",
                "similarity_threshold": 80,
                "pep_countries": [],
                "sanction_countries": [
                    "au",
                    "nz",
                    "gb",
                    "us",
                    "ca"
                ],
                "max_results": 25,
                "extended_result": true
            },
            "results": [
                {
                    "uuid": "NK-12345",
                    "name": "John Albert Smith",
                    "matched_name": "J A Smith",
                    "similarity": 0.95,
                    "is_pep": true,
                    "is_sanctioned": false,
                    "pep_matches": [],
                    "sanction_matches": [],
                    "record": {
                        "id": "Q12345",
                        "caption": "John Albert Smith",
                        "schema": "Person",
                        "first_seen": "2018-01-01T00:00:00Z",
                        "last_seen": "2025-01-01T00:00:00Z",
                        "last_change": "2024-12-01T00:00:00Z"
                    },
                    "properties": {
                        "birth_date": [
                            "1980-06-23"
                        ],
                        "death_date": [],
                        "gender": [
                            "male"
                        ],
                        "nationality": [
                            "au"
                        ],
                        "citizenship": [
                            "au"
                        ],
                        "birth_place": [
                            "Sydney"
                        ],
                        "aliases": [
                            "J Smith",
                            "Johnny Smith"
                        ],
                        "positions": [
                            "Senator",
                            "Cabinet Minister"
                        ],
                        "phone": [],
                        "email": [],
                        "address": [
                            "12 Main St, Sydney NSW 2000"
                        ],
                        "education": [],
                        "religion": [],
                        "notes": [],
                        "wikidata_id": [
                            "Q12345"
                        ],
                        "source_urls": [
                            "https://example.com/source"
                        ],
                        "websites": []
                    }
                }
            ]
        }
    },
    "api_reference": "00000000-0000-0000-0000-000000000000"
}
```

Standard error responses: 400, 401, 403, 404, 429, 5XX (see [Common error responses](/docs/reference/general/common-error-responses.md))

