> For the complete documentation index, see [llms.txt](https://docs.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://docs.fraudcheck.co.za/consumer-service/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 `email` and `password` as `application/x-www-form-urlencoded`; `username` is not accepted
* Response contains `access_token` (bearer, expires 1 hour)
* All service requests require `Authorization: Bearer {access_token}` header
* Full details: [Authentication](https://developer.fraudcheck.co.za/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://developer.fraudcheck.co.za/identity/basic-identity-verification) - `POST /idv/kyc/verify` - verifies an SA ID against name and surname with automatic failover between identity data sources
* [Enhanced Identity Verification](https://developer.fraudcheck.co.za/identity/enhanced-identity-verification) - `POST /enhanced-idv/verify/onfile` or `/enhanced-idv/verify/online` - verifies identity and returns the official ID photograph
* [Enhanced Identity Verification with Liveness](https://developer.fraudcheck.co.za/identity/biometric-identity-verification) - `POST /idv/kyc/photo/verify`; poll `GET /idv/kyc/photo/results/{transaction_id}` - combines identity verification, an official photograph, selfie liveness, and face matching
* [Identity Verification - Document with Liveness](https://developer.fraudcheck.co.za/identity/identity-verification-document-with-liveness) - `POST /doc-auth/verify`; poll `GET /doc-auth/results/{transaction_id}` - creates a hosted or SDK-based document and liveness capture journey
* [Document with Liveness - Without the SDK](https://developer.fraudcheck.co.za/identity/identity-verification-document-with-liveness-without-sdk) - direct upload with `POST /doc-auth/upload`, plus country, document-template, crop, and quality-check helpers
* [Digital Onboarding Verification](https://developer.fraudcheck.co.za/identity/digital-onboarding-verification) - `POST /dovs/link` or `/dovs/sms`; poll `GET /dovs/status/{transaction_id}` - creates a selfie-liveness onboarding journey and verifies identity details
* [Address Lookup](https://developer.fraudcheck.co.za/identity/address-lookup) - `POST /address-lookup/verify` - returns known address history for a consumer by ID number
* [Asylum Seeker / Refugee Verification](https://developer.fraudcheck.co.za/identity/asylum-seeker-refugee-verification) - `POST /refugee/verify` - verifies an NIIS file number and permit against immigration records
* [Driver's Licence Verification](https://developer.fraudcheck.co.za/identity/driver-licence-verification) - `POST /driver-licence/verify`; poll status and results by transaction ID - verifies South African-issued driver's licences and professional driving permits
* [SIM Swap Check](https://developer.fraudcheck.co.za/identity/sim-swap-check) - `POST /sim-swap` - checks whether a mobile number has recently been transferred to a new SIM
* [Phone OTP](https://developer.fraudcheck.co.za/identity/phone-otp) - `POST /phone-otp/send`, `POST /phone-otp/verify`, `GET /phone-otp/status/{request_id}` - sends an SMS one-time password and verifies the code

## AML & Watchlist

* [Watchlist](https://developer.fraudcheck.co.za/aml-and-watchlist/watchlist-verify) - `POST /watchlist/verify` - screens a person against selected PEP, sanctions, and crime lists, with optional relatives and conflict filters
* [Watchlist Screening](https://developer.fraudcheck.co.za/aml-and-watchlist/watchlist-screening) - `POST /watchlist/lite`, `/watchlist/most-wanted`, or `/watchlist/extensive` - screens against the documented watchlist variants
* [Comprehensive Watchlist Screening](https://developer.fraudcheck.co.za/aml-and-watchlist/comprehensive-watchlist-screening) - `POST /comprehensive-watchlist/search` - performs an international AML screen covering sanctions, PEPs, and adverse media
* [SAFPS Fraud Listing Lookup](https://developer.fraudcheck.co.za/aml-and-watchlist/safps-fraud-listing-lookup) - `POST /fraud-listing-lookup/verify`; poll `GET /transactions/{transaction_id}` - asynchronously checks the SA Fraud Prevention Service database
* [Self-Exclusion Screening](https://developer.fraudcheck.co.za/aml-and-watchlist/self-exclusion-screening) - `POST /self-exclusion/verify` - checks an ID or passport against the operator's self-exclusion list

## Education

* [Matric Verification](https://developer.fraudcheck.co.za/education/matric-verification) - `POST /matric-verification/pre-1992/verify` or `/matric-verification/post-1992/verify`; poll by transaction ID - verifies secondary school qualifications
* [Tertiary Verification](https://developer.fraudcheck.co.za/education/tertiary-verification) - `POST /tertiary/verify`; poll by transaction ID - verifies degrees and diplomas against accredited institution records

## Credit & Financial Risk

* [Credit Check](https://developer.fraudcheck.co.za/credit-and-financial-risk/credit-check) - `POST /credit-check` or `/credit-check-with-payment-profile` - returns a credit bureau profile including accounts, defaults, judgements, and debt counselling
* [Credit Score](https://developer.fraudcheck.co.za/credit-and-financial-risk/credit-score) - `POST /prevet`, then `POST /prevet/result` - returns a combined credit and fraud risk score with an ACCEPT, REVIEW, or REJECT classification
* [Bank Account Verification](https://developer.fraudcheck.co.za/credit-and-financial-risk/bank-account-verification) - `POST /account-verification/verify/sa-id`, `/sa-passport`, or `/foreign-passport` - verifies bank account status and identity ownership

## Reporting

* [Cost Center Reporting](https://developer.fraudcheck.co.za/cost-center-reporting) - `GET /cost-center/transactions`, `/cost-center/summary`, or `/cost-center/success-rates` - queries transaction history, cost-center totals, and operator performance

## 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`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.fraudcheck.co.za/consumer-service/reference/llms.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
