> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didx.co.za/llms.txt
> Use this file to discover all available pages before exploring further.

# SAFPS Fraud Screening

> Look up the South African Fraud Prevention Service database for fraud listings against an individual.

## Overview

The South African Fraud Prevention Service (SAFPS) is a shared database used by financial institutions and businesses to flag and look up fraud incidents. didx:verify provides two SAFPS lookup endpoints:

* **Detailed Search**, search by ID number, contact number, email, or bank account
* **Detailed Object Search**, search using a structured object with multiple identifiers

## Listing Types

| Identifier Format | Type                    | Description                                                                                                               |
| ----------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `PR00000000`      | Protective Registration | The individual has voluntarily registered with SAFPS for protection. Requires their PR number to proceed with onboarding. |
| `VICTIM00000000`  | Victim                  | The individual has been a victim of fraud (e.g. impersonation)                                                            |
| `SH00000000`      | SAFPS Hit               | The individual has been flagged for conducting fraudulent activity                                                        |

***

## SAFPS Detailed Search

```
POST /Citizen/SAFPSDetailedSearch
```

Search the SAFPS database by one or more identifiers.

```bash theme={null}
curl -X POST "https://citizen.uat.securecitizen.cloud/Citizen/SAFPSDetailedSearch" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "ConsentReceived": true,
    "IdNumber": "8001014800080",
    "ContactNumber": "0821234567",
    "EmailAddress": "[email protected]",
    "BankAccount": "1234567890",
    "CRef": "REF00001"
  }'
```

### Request Fields

| Field             | Type    | Required | Description                   |
| ----------------- | ------- | -------- | ----------------------------- |
| `ConsentReceived` | boolean | **Yes**  | Must be `true`                |
| `IdNumber`        | string  | No       | SA ID number to search        |
| `ContactNumber`   | string  | No       | Contact number to search      |
| `EmailAddress`    | string  | No       | Email address to search       |
| `BankAccount`     | string  | No       | Bank account number to search |
| `CRef`            | string  | No       | Your transaction reference    |

<Note>
  At least one search identifier (`IdNumber`, `ContactNumber`, `EmailAddress`, or `BankAccount`) must be provided.
</Note>

### Response

```json theme={null}
{
  "data": [
    {
      "FirstName": "John",
      "Surname": "Doe",
      "BirthDate": "1980-01-01T00:00:00Z",
      "Filings": [
        {
          "ReferenceNo": "SH00000001",
          "Category": "Impersonation"
        },
        {
          "ReferenceNo": "VICTIM00000001",
          "Category": "Victim of impersonation"
        }
      ]
    }
  ],
  "Status": "Success",
  "CRef": "REF00001"
}
```

***

## SAFPS Detailed Object Search

```
POST /Citizen/SAFPSDetailedObjectSearch
```

A structured variant of the SAFPS search that accepts a more detailed search object.

```bash theme={null}
curl -X POST "https://citizen.uat.securecitizen.cloud/Citizen/SAFPSDetailedObjectSearch" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "ConsentReceived": true,
    "SearchObject": {
      "IdNumber": "8001014800080",
      "FirstName": "John",
      "LastName": "Doe",
      "DateOfBirth": "1980-01-01"
    },
    "CRef": "REF00001"
  }'
```

The response format is the same as the Detailed Search endpoint.

***

## Handling Protective Registrations

When a `PR` (Protective Registration) listing is returned, the individual has proactively registered with SAFPS to protect their identity. You **must** request their PR reference number and validate it before proceeding with their application.

```json theme={null}
{
  "Filings": [
    {
      "ReferenceNo": "PR00088118",
      "Category": ""
    }
  ]
}
```

Ask the customer to provide their PR number and verify it matches `PR00088118` before continuing.
