---
updatedAt: 2026-03-06T06:39:00.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Singapore

Sample structures of the `E_KYC_CHECK` API responses for Singapore Singpass Verification (sgp\_gov\_singpass).

# GREEN

The following response examples represent successful checks.

## NRIC holders

```json
{
  "checks": [
    {
      "answer": "GREEN",
      "checkType": "E_KYC_CHECK",
      "createdAt": "2025-11-06 13:29:49",
      "id": "9522d69a-1a6b-4aa9-b1d3-840ecac21a91",
      "inputDoc": {
        "idDocType": "OTHER",
        "country": "SGP"
      },
      "extractedDoc": {
        "country": "SGP",
        "idDocType": "ID_CARD",
        "number": "S7790690H",
        "firstName": "XIA YIN CHOW",
        "gender": "F",
        "phone": "+6599472910",
        "email": "myinfo90282@gmail.com",
        "dob": "1996-01-03",
        "nationality": "SGP",
        "addresses": [
          {
            "flatNumber": "2-101",
            "street": "FIR AVENUE",
            "buildingNumber": "11",
            "town": "Singapore",
            "postCode": "670148",
            "country": "SGP",
            "formattedAddress": "FIR AVENUE, 11 2-101, Singapore, Singapore, 670148",
            "source": "externalDb"
          }
        ],
        "additionalFields": [
          {
            "name": "passportNumber",
            "value": "E93874729W"
          },
          {
            "name": "passportExpiryDate",
            "value": "2027-03-03"
          }
        ]
      },
      "ekycCheckInfo": {
        "confirmationId": "gDbo0UcV26LNA135y44AbxlL",
        "confirmationType": "options"
      }
    }
  ]
}
```

## FIN holders

```json
{
  "checks": [
    {
      "answer": "GREEN",
      "checkType": "E_KYC_CHECK",
      "createdAt": "2025-11-06 13:33:47",
      "id": "50894a7f-be8f-4d56-bcf7-ec391fa2fab7",
      "inputDoc": {
        "idDocType": "OTHER",
        "country": "SGP"
      },
      "extractedDoc": {
        "country": "SGP",
        "idDocType": "RESIDENCE_PERMIT",
        "number": "G4440430W",
        "firstName": "ALFRED CHONG BOON HAO",
        "gender": "M",
        "phone": "+6597399245",
        "email": "myinfotesting@gmail.com",
        "dob": "1948-11-12",
        "nationality": "CHN",
        "addresses": [
          {
            "flatNumber": "2-123",
            "street": "HAVELOCK ROAD",
            "buildingNumber": "18",
            "town": "Singapore",
            "postCode": "597642",
            "country": "SGP",
            "formattedAddress": "HAVELOCK ROAD, 18 2-123, Singapore, Singapore, 597642",
            "source": "externalDb"
          }
        ],
        "additionalFields": [
          {
            "name": "passType",
            "value": "SPass"
          },
          {
            "name": "passStatus",
            "value": "Live"
          },
          {
            "name": "passExpiryDate",
            "value": "2030-12-31"
          }
        ]
      },
      "ekycCheckInfo": {
        "confirmationId": "dPvL5A2O2E8RnPWy3GdNKNPm",
        "confirmationType": "options"
      }
    }
  ]
}
```

# YELLOW

The following example illustrates a case where the verification process is still in progress and the applicant has not yet completed all required steps.

```json
{
  "checks": [
    {
      "answer": "YELLOW",
      "checkType": "E_KYC_CHECK",
      "createdAt": "2025-11-06 21:39:24",
      "id": "faf3469c-7320-4533-8d78-901072fb8f5b",
      "inputDoc": {
        "idDocType": "OTHER",
        "country": "SGP"
      },
      "ekycCheckInfo": {
        "confirmationId": "TX0zGu2IT6YQYkMcMXTYorh8",
        "confirmationType": "oAuth"
      }
    }
  ]
}
```

# Response explained

The response represents a singleton list of checks.

## Root variables

The root variables are the core Non-Doc check result data items. Some of them may include nested attributes and element fields.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`id`",
    "0-1": "String",
    "0-2": "Unique identifier of the check.",
    "1-0": "`answer`",
    "1-1": "String",
    "1-2": "Check answer:<ul><li><code>GREEN</code> — the check has passed successfully. Data found in the database.</li><li><code>YELLOW</code> — verification process is not yet complete. We await the applicant's completion of the required steps.</li></ul>",
    "2-0": "`inputDoc`",
    "2-1": "[Object](#inputdoc-attributes)",
    "2-2": "Represents the data used for the database check.",
    "3-0": "`checkType`",
    "3-1": "String",
    "3-2": "Indicates that it is a `E_KYC_CHECK` check type.",
    "4-0": "`extractedDoc`",
    "4-1": "[Object](#extracteddoc-attributes)",
    "4-2": "External check source data. It may not be present if the data is not received.",
    "5-0": "`createdAt`",
    "5-1": "Date",
    "5-2": "Date and time (UTC) of the latest Non-Doc check result."
  },
  "cols": 3,
  "rows": 6,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]

## `inputDoc` attributes

The following table explains the `inputDoc` attributes representing the data taken from the provided document.

| Field       | Type   | Description                                                                                                            |
| :---------- | :----- | :--------------------------------------------------------------------------------------------------------------------- |
| `idDocType` | String | Type of the document provided for verification. For example, `TAX_PAYER_NUMBER_DOC`, `ID_CARD`, `PASSPORT`, `DRIVERS`. |
| `country`   | String | Alpha-3 country code (for example, `DEU`, `GBR`, `ARG`, and so on).                                                    |

## `extractedDoc` attributes

The `extractedDoc` object includes the data obtained from the external source during the `E_KYC_CHECK` check.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`country`",
    "0-1": "String",
    "0-2": "Alpha-3 country code (for example, `DEU`, `GBR`, `ARG`, and so on).",
    "1-0": "`idDocType`",
    "1-1": "String",
    "1-2": "Type of the identification number, extracted from Singpass:<ul><li><code>ID_CARD</code> — National Registration Identity Card (NRIC) number, a unique identifier assigned to Singapore Citizens and Permanent Residents.</li><li><code>RESIDENCE_PERMIT</code> — Foreign Identification Number (FIN), a unique identifier assigned to foreigners.</li></ul>",
    "2-0": "`number`",
    "2-1": "String",
    "2-2": "NRIC number or FIN.",
    "3-0": "`firstName`",
    "3-1": "String",
    "3-2": "Applicant full name.",
    "4-0": "`dob`",
    "4-1": "Date",
    "4-2": "Applicant date of birth (format `YYYY-mm-dd`, for example, `2001-09-25`) as it is specified in the document.",
    "5-0": "`nationality`",
    "5-1": "String",
    "5-2": "Applicant country of origin. Presented as an [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code (for example, `DEU`, `GBR`, `ARG`, and so on).",
    "6-0": "`gender`",
    "6-1": "String",
    "6-2": "Gender of the applicant (`M`, `F`, or `X`).",
    "7-0": "`phone`",
    "7-1": "String",
    "7-2": "Applicant phone number.",
    "8-0": "`email`",
    "8-1": "String",
    "8-2": "Applicant email address.",
    "9-0": "`addresses`",
    "9-1": "[Array of objects](#addresses-element-fields)",
    "9-2": "The list of addresses extracted from the external check sources.",
    "10-0": "`additionalFields`",
    "10-1": "[Array of objects](#additionalfields-element-fields)",
    "10-2": "A collection of key-value pairs, representing additional information about the applicant."
  },
  "cols": 3,
  "rows": 11,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]

## `addresses` element fields

The following table explains the `addresses` element fields containing the applicant address details extracted from external sources.

| Field              | Type   | Description                                                                                                      |
| :----------------- | :----- | :--------------------------------------------------------------------------------------------------------------- |
| `street`           | String | Street name.                                                                                                     |
| `buildingNumber`   | String | Block number.                                                                                                    |
| `subStreet`        | String | Building name.                                                                                                   |
| `flatNumber`       | String | Floor and unit number in the format: `{floor}-{unit}`.                                                           |
| `town`             | String | City, town, or another settlement.                                                                               |
| `state`            | String | State, region, district, county, or another territorial entity inside a country.                                 |
| `postCode`         | String | Address postal code.                                                                                             |
| `country`          | String | Alpha-3 country code (for example, `DEU`, `GBR`, `ARG`, and so on).                                              |
| `formattedAddress` | String | Address in a human readable format. For example, `Design Offices, Philipsbornstraße 2, 30165 Hannover, Germany`. |

## `additionalFields` element fields

An array of key-value pairs providing non-standard additional information. The following table explains the possible keys.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`passportNumber`",
    "0-1": "String",
    "0-2": "Passport number. Returned only for Singapore citizens.",
    "1-0": "`passportExpiryDate`",
    "1-1": "Date",
    "1-2": "Date when the passport validity expires. Returned only for Singapore citizens.",
    "2-0": "`passType`",
    "2-1": "String",
    "2-2": "Pass type of a Foreign Identification Number (FIN) holder, applicable only to foreigners with a valid pass. Possible values::<ul><li><code>RPass</code> — Work Permit.</li><li><code>SPass</code> — S Pass.</li><li><code>P1Pass</code> — Employment Pass.</li><li><code>P2Pass</code> — Employment Pass.</li><li><code>QPass</code> — Employment Pass.</li><li><code>PEP</code> — Personalised Employment Pass.</li><li><code>WHP</code> — Work Holiday Pass.</li><li><code>TEP</code> — Training Employment Pass.</li><li><code>Entre</code> — EntrePass.</li><li><code>OVE</code> — Overseas Networks & Expertise Pass.</li><li><code>DP</code> — Dependent Pass.</li><li><code>LTVP</code> — Long-Term Visit Pass.</li><li><code>LOC</code> — Letter of Consent.</li><li><code>MWP</code> — Miscellaneous Work Pass.</li><li><code>STP</code> — Student's Pass.</li><li><code>LTVP+</code> — Long-Term Visit Pass Plus.</li><li><code>IEO</code> — Immigration Exemption Order.</li></ul>",
    "3-0": "`passStatus`",
    "3-1": "String",
    "3-2": "Pass status of a Foreign Identification Number (FIN) holder, applicable only to foreigners with a valid pass. Possible values:<ul><li><code>Live</code>.</li><li><code>Approved</code> — Interim status indicates that the FIN holder has not yet received the pass.</li></ul>",
    "4-0": "`passExpiryDate`",
    "4-1": "Date",
    "4-2": "Pass expiry date of a Foreign Identification Number (FIN) holder, applicable only to foreigners with a valid pass (format `YYYY-mm-dd`, for example, `2001-09-25`)."
  },
  "cols": 3,
  "rows": 5,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]