Person Report
/api/v2/person_report
operationId: person_report
Live: https://gdapi.globaldata.net.au/api/v2/person_report · Sandbox: https://sandbox-gdapi.globaldata.net.au/api/v2/person_report
Experimental
The Person Report API is still in the experimental stage and is subject to change.
Takes whatever you know about a person - a name, a date of birth, an address or locality, a phone number, an email address, or any combination - resolves it to a single person in the Global Data universe, and returns a consolidated report of everything held about them.
Resolution is iterative: each source consulted (the person universe, the ASIC person register, the commercial universe, social enrichment) can return new identifiers, which feed the next round of searches until no new information appears. Every fact in the report cites the lookup it came from, and a plain-English research log records what was searched, what was found, what was decided and what was rejected.
Asynchronous
The request is queued and answered immediately with an acknowledgement carrying a request_uuid
and result_url - nothing else. Poll GET /person_report/{request_uuid} (free) until status is
complete; the full report response (search_criteria, resolution, report, provenance) is
documented on that endpoint. Results are retained for 24 hours.
Resolution outcomes
The resolution.outcome field tells you what happened. Only a resolved outcome carries a report.
| Outcome | Meaning | What to do |
|---|---|---|
resolved |
One subject was identified with medium or high confidence. |
Read the report. |
low_confidence |
One candidate matched on name only; the details you supplied did not corroborate it. | Confirm with the candidate_token, or add a phone / email / date of birth. |
ambiguous |
Several people match. A redacted candidate list is returned. | Re-submit with the candidate_token of the right person, or add narrowing details. |
too_many |
The name is too common to list. Distribution hints are returned. | Add a date of birth, postcode, phone or email. |
not_found |
Nothing matched. | Check the details; try a different identifier. |
Date of birth is treated as evidence, not a key: a supplied date that is a day out, or has the day and
month swapped, will still match and is reported as a near_miss. Where sources disagree the report
lists every date seen in birth_date_candidates with its supporting votes.
Sections
Every report is as comprehensive as the sources allow. It always
contains identity, addresses (an address timeline - each entry carries the subject's tenure,
occupancy, the other people seen at that address with their overlap, and real-estate events there),
contacts, household (possible relatives - co-residents sharing the surname, extended to every
same-surname person when the surname is rare), business, asic, companies_house (UK Companies
House officer records and appointments, matched on name and birth month), watchlists, court (court
record summaries, matched on name and labelled as unverified), adverse_media (an AI-assisted
search of news, regulator and public web sources on the subject's name, with a machine-written
summary and the articles it drew on - matched on name only and labelled as unverified), judgements
and social (professional profile, employment history and social profile URLs, where a social
profile matches one of the subject's phones or emails and carries the subject's name).
Every section carries a status of ok, empty, clear (watchlists), skipped or error, so one
unavailable source never fails the whole report.
A resolved report opens with a summary: who was resolved and on what evidence, what was found, which
findings are name-only leads, and what to verify next. On live reports it is written by an AI language
model from a redacted digest of the finished report (no phone, email, street address, full date of
birth or relative's name leaves the report); a templated summary with the same parts stands in when the
model is unavailable and in the sandbox.
No artificial intelligence is used to resolve the identity or match records. The adverse_media
section and the AI-written summary are the only AI-assisted parts, and both say so.
Provenance
provenance.sources lists every lookup performed (with the exact query, dataset or provider, round
and result count), provenance.inferences every conclusion drawn (with the rule applied and the
evidence it rests on), and provenance.research_notes the chronological research log. Facts in the
report cite source ids (S1, S2, ...) and inference ids (I1, I2, ...). Provenance is always
returned in full, so every report arrives with its complete audit trail.
Sandbox environment data
The sandbox runs against the sample universe. Useful inputs:
| Input | Outcome |
|---|---|
first_name: John, last_name: Smith, birth_date: 1998-03-21 |
resolved - full report including real-estate events on the address timeline, an ASIC officeholder record, a PEP match, court records, a judgement, a full social profile, a co-resident relative, UK Companies House officer and disqualified-director records, ASIC banned and ATO disqualified trustee matches, and an adverse media hit |
first_name: John, last_name: Smith, birth_date: 1998-03-21, emails: ["john@smithjoinery.com"] |
resolved - as above, plus a business section: a sole-trader ABN linked on postcode, SMITH JOINERY associated through the email domain, and one namesake ABN holder elsewhere not linked |
phones: ["0427151494"] |
resolved - Robert Patrick Brown, two universe rows merged on a shared email |
emails: ["jsmith1998@example.com"] |
resolved |
first_name: Robert, last_name: Brown |
ambiguous - two candidates with candidate_tokens |
first_name: Mary, last_name: Jones |
resolved on a rare name alone |
first_name: Aaron, last_name: Wolfe |
resolved with Ruth Wolfe as a possible relative |
Sample report
A complete report touching every section, generated in the sandbox from first_name: John, last_name: Smith,
birth_date: 1998-03-21, emails: ["john@smithjoinery.com"]. Submit the same request in the sandbox and poll
with pdf=true to reproduce it. Sandbox PDFs carry a SAMPLE watermark: the data is fictional and describes no real person.
Request body
Content type application/json.
Whatever is known about the person. At least a first and last name, a phone, an email, or a candidate token is required.
| Field | Description |
|---|---|
first_name |
string First (given) name. Common equivalents (Tony / Antonio, Bob / Robert) are searched automatically. |
middle_name |
string or null Middle name(s), if known. |
last_name |
string Surname. Matched exactly - make sure the spelling is right. |
birth_date |
string (date) or null Date of birth in ISO 8601 ( |
phones |
array of strings [max 4 items] Up to four Australian phone numbers in 0NSN or +61 format, de-duplicated after normalisation. |
emails |
array of strings [max 4 items] Up to four email addresses, de-duplicated. |
street_address |
string or null A street address the person is known at (e.g. "20 Hardy Street"). Strongly corroborates a candidate seen at that address; street types are matched loosely ("Street" == "St"). Combine with |
suburb |
string or null Suburb, as a narrowing input. |
state |
string or null State, as a narrowing input. |
postcode |
string or null Postcode, as a narrowing input. |
candidate_token |
string or null A token from a previous |
Responses
Request accepted and queued. This response is an acknowledgement only - poll
GET /person_report/{request_uuid} for the result, which is documented on that endpoint.
application/json
| Field | Description |
|---|---|
message |
string |
function |
string |
api_reference |
string (uuid) Reference for this request; also the billing correlation id. |
request_uuid |
string (uuid) Use to poll for the result. |
status |
string |
result_url |
string (uri) Absolute URL of the poll endpoint for this request. |