> For the complete documentation index, see [llms.txt](https://docs.fill-easy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fill-easy.com/kyc-hong-kong.md).

# KYC Hong Kong

Hong Kong AML name screening against global sanctions, PEP, and adverse-media watchlists (powered by Acuris Risk Intelligence).

***

#### Flow

Call `/kyc/hk/screening` with a name (plus optional date of birth, gender, country, and entity type). The screen runs synchronously and returns the matching watchlist records, each with a match strength and the categories it appears on, along with a `caseId` referencing the screening case.

## Single-name AML / sanctions / PEP screening

> Screens a single name against global \*\*sanctions\*\*, \*\*PEP\*\* (Politically Exposed Person),\
> and \*\*adverse-media\*\* watchlists (data sourced from Acuris Risk Intelligence) and returns\
> any matches in one synchronous call.\
> \
> Supply at least one name field — \`name\`, \`nameEnglish\`, \`nameChinese\`, or \`nameOtherLang\`.\
> Optional \`dob\`, \`gender\`, \`country\`, and \`entityType\` narrow the screen.\
> \
> The response \`summary\` counts matches by resolution status, and \`matches\` lists each\
> watchlist hit with its strength (\`0\`–\`1\`), the categories it appears on (\`PEP\`, \`Sanction\`,\
> …), and identifying details. A returned \`caseId\` references the screening case for future\
> retrieval.\
> \
> Set \`full: true\` to also include each match's \*\*complete profile\*\* (addresses, ID & passport\
> numbers, sanction regime & measures, PEP positions, linked persons, evidence sources, photo,\
> …) under \`matches\[].profile\`. This is heavier — it makes one extra upstream call per match —\
> so it defaults to \`false\`, returning only the headline match data.\
> \
> Every screening also produces a \*\*PDF report\*\* of the result, returned as a presigned\
> download link in \`pdfUrl\` (valid for 7 days; the file is retained for 30 days). Download\
> it promptly — there is no endpoint to re-fetch the link later. If report generation fails,\
> the screening still succeeds and \`pdfUrl\` is omitted from the response.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"KYC Hong Kong","description":"Hong Kong AML name screening against global sanctions, PEP, and adverse-media\nwatchlists (powered by Acuris Risk Intelligence).\n\n---\n\n### Flow\n\nCall `/kyc/hk/screening` with a name (plus optional date of birth, gender, country,\nand entity type). The screen runs synchronously and returns the matching watchlist\nrecords, each with a match strength and the categories it appears on, along with a\n`caseId` referencing the screening case.\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}}},"paths":{"/kyc/hk/screening":{"post":{"tags":["KYC Hong Kong"],"summary":"Single-name AML / sanctions / PEP screening","description":"Screens a single name against global **sanctions**, **PEP** (Politically Exposed Person),\nand **adverse-media** watchlists (data sourced from Acuris Risk Intelligence) and returns\nany matches in one synchronous call.\n\nSupply at least one name field — `name`, `nameEnglish`, `nameChinese`, or `nameOtherLang`.\nOptional `dob`, `gender`, `country`, and `entityType` narrow the screen.\n\nThe response `summary` counts matches by resolution status, and `matches` lists each\nwatchlist hit with its strength (`0`–`1`), the categories it appears on (`PEP`, `Sanction`,\n…), and identifying details. A returned `caseId` references the screening case for future\nretrieval.\n\nSet `full: true` to also include each match's **complete profile** (addresses, ID & passport\nnumbers, sanction regime & measures, PEP positions, linked persons, evidence sources, photo,\n…) under `matches[].profile`. This is heavier — it makes one extra upstream call per match —\nso it defaults to `false`, returning only the headline match data.\n\nEvery screening also produces a **PDF report** of the result, returned as a presigned\ndownload link in `pdfUrl` (valid for 7 days; the file is retained for 30 days). Download\nit promptly — there is no endpoint to re-fetch the link later. If report generation fails,\nthe screening still succeeds and `pdfUrl` is omitted from the response.\n","operationId":"kycHkScreening","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"At least one of `name`, `nameEnglish`, `nameChinese`, or `nameOtherLang` is required.","properties":{"name":{"type":"string","description":"Name to screen. Use this when you have a single name and don't need to disambiguate the script."},"nameEnglish":{"type":"string","description":"Name in English / Latin script."},"nameChinese":{"type":"string","description":"Name in Chinese script."},"nameOtherLang":{"type":"string","description":"Name in a language other than English or Chinese."},"entityType":{"type":"string","enum":["Individual","Entity","Aircraft","Vessel","Country"],"description":"Type of entity being screened. Optional."},"dob":{"type":"string","description":"Date of birth in `YYYY-MM-DD` format. Optional."},"gender":{"type":"string","enum":["male","female"],"description":"Optional."},"country":{"type":"string","description":"Nationality, citizenship, or residency — name or code of the country/region. Optional."},"externalRefId":{"type":"string","description":"Your own reference id for this screen, echoed back in the response. Optional."},"full":{"type":"boolean","description":"When `true`, fetch each match's complete profile and include it as\n`matches[].profile`. Adds one upstream call per match. Defaults to `false`\n(headline match data only).\n"}}}}}},"responses":{"200":{"description":"Screening completed. Returns the screening case id and any watchlist matches.","content":{"application/json":{"schema":{"type":"object","required":["requestId","caseId","name","summary","matches"],"properties":{"requestId":{"type":"string","description":"Unique id for this screening request, for tracking and billing reconciliation."},"caseId":{"type":"string","description":"Identifier of the screening case, for future retrieval."},"name":{"type":"string","description":"The name that was screened."},"externalRefId":{"type":"string","description":"The reference id supplied in the request, if any."},"summary":{"type":"object","description":"Count of matches by resolution status.","required":["total","positive","possible","false","unspecified","unresolved"],"properties":{"total":{"type":"number","description":"Total number of matches found."},"positive":{"type":"number","description":"Matches resolved as positive (a true hit)."},"possible":{"type":"number","description":"Matches resolved as possible."},"false":{"type":"number","description":"Matches resolved as false positives."},"unspecified":{"type":"number","description":"Matches resolved without a specified outcome."},"unresolved":{"type":"number","description":"Matches not yet reviewed."}}},"matches":{"type":"array","items":{"type":"object","required":["matchId","matchedName","name","types"],"properties":{"matchId":{"type":"string","description":"Identifier of the matched watchlist record."},"matchedName":{"type":"string","description":"The screened name as matched."},"name":{"type":"string","description":"Primary name of the watchlist record."},"nameType":{"type":"string","description":"How `name` relates to the record (e.g. `Primary`, `AKA`)."},"nameOriginalScript":{"type":"string","description":"The record's name in its original script, if available."},"alias":{"type":"string","description":"Comma-separated known aliases of the record."},"types":{"type":"array","items":{"type":"string"},"description":"Watchlist categories the record appears on (e.g. `PEP`, `Sanction`)."},"matchStrength":{"type":"number","description":"Match confidence from 0 to 1."},"matchType":{"type":"string","description":"How the match was made (e.g. `Native Name Match`)."},"dob":{"type":"string","description":"Date(s) of birth on the record."},"gender":{"type":"string","description":"Gender on the record."},"countryOfResidence":{"type":"string","description":"Country of residence on the record."},"profile":{"type":"object","additionalProperties":true,"description":"The match's complete upstream profile — addresses, ID/passport numbers,\nsanction regime & measures, PEP positions, linked persons, evidence\nsources, photo, and more. Present only when `full: true` was requested.\n"}}}},"pdfUrl":{"type":"string","description":"Presigned download link for the PDF report of this screening. Valid for\n7 days; the file itself is retained for 30 days. Omitted if report\ngeneration failed — the screening result is unaffected.\n"},"pdfFileName":{"type":"string","description":"Suggested file name for the PDF report."}}}}}},"400":{"description":"Bad Request — no name field supplied."},"503":{"description":"Screening provider unavailable or rejected the request."}}}}}}
```
