> For the complete documentation index, see [llms.txt](https://developer.fraudcheck.co.za/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.fraudcheck.co.za/reference/llms.md).

# LLMs / AI Reference

> REST API for South African identity verification, fraud screening, credit risk, AML/watchlist checks, and education verification. All services are POPIA-compliant and require explicit data-subject consent on every request.

## Authentication

* Token endpoint (no /consumer-service prefix): POST <https://consumer-service-api.fraudcheckonline.co.za/auth/login>
* Submit `username` and `password` as `application/x-www-form-urlencoded`
* Response contains `access_token` (bearer, expires 1 hour)
* All service requests require `Authorization: Bearer {access_token}` header
* Full details: [Authentication](https://fraudcheck.gitbook.io/fraudcheck-api-docs/authentication)

## Base URL

All service endpoints below are relative to: `https://consumer-service-api.fraudcheckonline.co.za/consumer-service`

## Key conventions

* `ConsentObtainedByDataSubject: true` (boolean) is required on every request
* Synchronous services return the full result inline
* Asynchronous services return `screening_result: "PENDING"` immediately; poll `GET /transactions/{transaction_id}` for the final result
* A negative outcome (e.g. ID not found, document rejected) returns HTTP 200 - reserve error handling for actual HTTP error codes
* `transaction_id` is returned on every response and is the key for result retrieval and support

## Identity

* [Basic Identity Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/basic-identity-verification) - `POST /idv/failover/verify` - verifies SA ID against name/surname with automatic failover between two data sources
* [Enhanced Identity Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/enhanced-identity-verification) - `POST /enhanced-idv/verify/onfile` or `/online` - verifies identity and returns official ID photograph
* [Address Lookup](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/address-lookup) - `POST /address-lookup/verify` - returns known address history for a consumer by ID number
* [Asylum Seeker / Refugee Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/asylum-seeker-refugee-verification) - `POST /refugee/verify` - verifies NIIS file number and permit against immigration records; returns facial image and risk assessment
* [Identity Document Authentication](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/identity-document-authentication) - `POST /doc-auth/verify/passport`, `/drivers-license`, or `/national-id` - authenticates a scanned document image and extracts fields
* [SIM Swap Check](https://fraudcheck.gitbook.io/fraudcheck-api-docs/identity/sim-swap-check) - `POST /sim-swap` - checks whether a mobile number has recently been transferred to a new SIM; returns risk indicator (LOW/MEDIUM/HIGH)

## AML & Watchlist

* [Watchlist Screening](https://fraudcheck.gitbook.io/fraudcheck-api-docs/aml-and-watchlist/watchlist-screening) - `POST /watchlist/{variant}` - screens against sanctions, PEP, and crime lists; variants: `lite`, `crime`, `peps`, `regulatory`, `extensive`
* [Comprehensive Watchlist Screening](https://fraudcheck.gitbook.io/fraudcheck-api-docs/aml-and-watchlist/comprehensive-watchlist-screening) - `POST /comprehensive-watchlist/search` - full international AML screen (sanctions + PEP + adverse media) with risk level and match records
* [SAFPS Fraud Listing Lookup](https://fraudcheck.gitbook.io/fraudcheck-api-docs/aml-and-watchlist/safps-fraud-listing-lookup) - `POST /fraud-listing-lookup/verify` - **async** - checks SA Fraud Prevention Service database; poll `GET /transactions/{transaction_id}`

## Education

* [Matric Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/education/matric-verification) - `POST /matric-verification/pre-1992/verify` or `/post-1992/verify` - **async** - verifies secondary school qualification; post-1992 requires a `Qualification` field
* [Tertiary Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/education/tertiary-verification) - `POST /tertiary/verify` - **async** - verifies degree/diploma against accredited institution records; call `GET /tertiary/institutions` first to get valid institution names

## Credit & Financial Risk

* [Credit Check](https://fraudcheck.gitbook.io/fraudcheck-api-docs/credit-and-financial-risk/credit-check) - `POST /credit-check` or `/credit-check-with-payment-profile` - full credit bureau profile including accounts, defaults, judgements, and debt counselling
* [Credit Score](https://fraudcheck.gitbook.io/fraudcheck-api-docs/credit-and-financial-risk/credit-score) - two-step: `POST /prevet` then `POST /prevet/result` - combined credit and fraud risk score (0–999) with ACCEPT/REVIEW/REJECT classification
* [Bank Account Verification](https://fraudcheck.gitbook.io/fraudcheck-api-docs/credit-and-financial-risk/bank-account-verification) - `POST /account-verification/verify/sa-id`, `/sa-passport`, or `/foreign-passport` - verifies account exists, is open, accepts debits/credits, and that ID and surname match

## Result retrieval

Most synchronous services also support re-fetching by transaction ID. Async services require polling:

```
GET /transactions/{transaction_id}
```

Transitions from `PENDING` to `ACCEPT`, `REVIEW`, `REJECT`, or `FAILED`.
