---
updatedAt: 2026-09-29T08:07:52.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Get NFC verification results

# Overview

Use this method to retrieve  [NFC-based ID verification](https://docs.sumsub.com/sumsub/docs/nfc-based-id-verification) check results based on the data extracted from the applicant’s [compatible identity documents](https://docs.sumsub.com/sumsub/docs/nfc-supported-documents).

## Required permissions

To use this method, your [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) must have the **View check results** [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

## Request example

```curl
curl -X GET \
     'https://api.sumsub.com/resources/checks/latest?applicantId=66bb9b44fc99ec3ef8y00000&type=NFC' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>'
```

# Response explained

The response represents a list of checks.

## Root variables

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

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `answer`
      </td>

      <td>
        String
      </td>

      <td>
        Overall result of the NFC check.

        - `GREEN` — when the document chip was successfully read.
        - `RED` — only when the chip could not be read (processing error).

        ⚠️ The overall answer reflects only whether the chip was read, not the certificate-validation outcome. Inspect `nfcCheckInfo.validCertificate` separately to see whether the document certificate was valid and current — `answer` can be `GREEN` while `validCertificate` is `RED`.
      </td>
    </tr>

    <tr>
      <td>
        `checkType`
      </td>

      <td>
        String
      </td>

      <td>
        Indicates this is the `NFC` check type.
      </td>
    </tr>

    <tr>
      <td>
        `createdAt`
      </td>

      <td>
        Date
      </td>

      <td>
        Date and time (UTC) of the latest NFC check result.
      </td>
    </tr>

    <tr>
      <td>
        `id`
      </td>

      <td>
        String
      </td>

      <td>
        Unique identifier of the check.
      </td>
    </tr>

    <tr>
      <td>
        `inputDoc`
      </td>

      <td>
        [Object](#inputdoc-attributes)
      </td>

      <td>
        Defines the document used for the check.
      </td>
    </tr>

    <tr>
      <td>
        `nfcCheckInfo`
      </td>

      <td>
        [Object](#nfccheckinfo-attributes)
      </td>

      <td>
        Details of the NFC check results.
      </td>
    </tr>
  </tbody>
</Table>

## `inputDoc` attributes

| Field       | Type   | Description                                                                                   |
| :---------- | :----- | :-------------------------------------------------------------------------------------------- |
| `idDocType` | String | Type of document used for NFC-based ID verification.                                          |
| `country`   | String | Alpha-3 code (for example, `DEU`, `GBR`, `ARG`) of the country where the document was issued. |

## `nfcCheckInfo` attributes

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `validCertificate`
      </td>

      <td>
        String
      </td>

      <td>
        Indicates whether the document certificate is valid and current.

        - `GREEN` — the certificate is valid and current.
        - `RED` — the certificate is invalid or expired.
      </td>
    </tr>

    <tr>
      <td>
        `extractedData`
      </td>

      <td>
        [Object](#extracteddata-attributes)
      </td>

      <td>
        Includes the data obtained through the NFC chip of identity documents.
      </td>
    </tr>

    <tr>
      <td>
        `processingErrors`
      </td>

      <td>
        Array of objects
      </td>

      <td>
        Each error object contains a `reason` field explaining the cause of the error (for example, `userCancelled`, `userSkipped`).
      </td>
    </tr>

    <tr>
      <td>
        `validation`
      </td>

      <td>
        [Object](#validation-attributes)
      </td>

      <td>
        Contains the results of validation checks performed during NFC verification.
      </td>
    </tr>
  </tbody>
</Table>

## `extractedData` attributes

| Field        | Type                             | Description                                                                                       |
| :----------- | :------------------------------- | :------------------------------------------------------------------------------------------------ |
| `signedData` | [Object](#signeddata-attributes) | Includes the data that has been cryptographically signed to prove its authenticity and integrity. |
| `mrzInfo`    | [Object](#mrzinfo-attributes)    | Contains the MRZ (Machine-Readable Zone) data extracted from the ID document.                     |
| `images`     | [Object](#images-attributes)     | Includes the data on the images uploaded.                                                         |

## `signedData` attributes

| Field             | Type   | Description                                                    |
| :---------------- | :----- | :------------------------------------------------------------- |
| `issuerPrincipal` | String | Refers to the identity of the entity that issued the document. |

## `mrzInfo` attributes

| Field              | Type   | Description                                                                                                                                                                                                                                |
| :----------------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fullMrz`          | String | Contains the full Machine-Readable Zone (MRZ) data from the ID document.                                                                                                                                                                   |
| `dateOfExpiration` | Date   | Document expiration date. Presented as a UNIX timestamp.                                                                                                                                                                                   |
| `documentNumber`   | String | Document registration number.                                                                                                                                                                                                              |
| `issuingState`     | String | ISO 3166-1 code of the country or state that issued the document (for example, `DEU`, `GBR`, `ARG`).<br />Refer to the list of [countries and document types](https://docs.sumsub.com/sumsub/docs/nfc-supported-documents) that are available via Sumsub NFC verification. |
| `nationality`      | String | Applicant's country of origin as specified in the document. Presented as an ISO 3166-1 country code (for example, `DEU`, `GBR`, `ARG`).                                                                                                    |
| `identifier`       | String | Name of the user.                                                                                                                                                                                                                          |
| `dob`              | Date   | Applicant's date of birth. Presented as a UNIX timestamp.                                                                                                                                                                                  |
| `gender`           | String | Gender of the applicant (`M`, `F`, or `X`). This field can be omitted if not specified.                                                                                                                                                    |

## `images` attributes

| Field          | Type   | Description                                                                                               |
| :------------- | :----- | :-------------------------------------------------------------------------------------------------------- |
| `faceMimeType` | String | Indicates the type and format of the image for the "face" field (for example, `image/jpeg`, `image/png`). |

## `validation` attributes

| Field                        | Type                                                 | Description                                                                                       |
| :--------------------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------ |
| `accessControlStatus`        | [Object](#accesscontrolstatus-attributes)            | Contains the results of access control checks performed during NFC verification.                  |
| `activeAuthentication`       | [Object](#activeauthentication-attributes)           | Contains the result of active authentication performed on the document chip.                      |
| `certificateChain`           | [Array of objects](#certificatechain-element-fields) | Contains information about certificates in the document certificate chain.                        |
| `certificateMasterListCheck` | Boolean                                              | Indicates whether the document certificate passed validation against the certificate master list. |
| `certificateSelfCheck`       | Boolean                                              | Indicates whether the document certificate passed the self-check.                                 |
| `hashValidation`             | [Object](#hashvalidation-attributes)                 | Contains the results of hash validation for data read from the document chip.                     |

## `accessControlStatus` attributes

| Field   | Type                                       | Description                                                                               |
| :------ | :----------------------------------------- | :---------------------------------------------------------------------------------------- |
| `bac`   | [Object](#access-control-check-attributes) | Contains the result of the Basic Access Control (BAC) check.                              |
| `eacta` | [Object](#access-control-check-attributes) | Contains the result of the Extended Access Control Terminal Authentication (EACTA) check. |
| `pace`  | [Object](#access-control-check-attributes) | Contains the result of the Password Authenticated Connection Establishment (PACE) check.  |

## Access control check attributes

The following attributes apply to the `bac`, `eacta`, and `pace` objects.

| Field       | Type   | Description                                                                           |
| :---------- | :----- | :------------------------------------------------------------------------------------ |
| `errorCode` | String | Error code returned for the access control check.                                     |
| `status`    | String | Status of the access control check. Available options: `success`, `unknown`, `error`. |

## `activeAuthentication` attributes

| Field       | Type   | Description                                                                                  |
| :---------- | :----- | :------------------------------------------------------------------------------------------- |
| `errorCode` | String | Error code returned for the active authentication check.                                     |
| `status`    | String | Status of the active authentication check. Available options: `success`, `unknown`, `error`. |

## `certificateChain` element fields

| Field  | Type   | Description                                                |
| :----- | :----- | :--------------------------------------------------------- |
| `name` | String | Name of the certificate in the document certificate chain. |

## `hashValidation` attributes

| Field     | Type    | Description                                                                           |
| :-------- | :------ | :------------------------------------------------------------------------------------ |
| `images`  | Boolean | Indicates whether image data read from the document chip passed hash validation.      |
| `mrzInfo` | Boolean | Indicates whether MRZ information read from the document chip passed hash validation. |

# Response examples

If the request is successfully sent and processed, you will get a response like one of those below.

```json GREEN
// The document chip has been read and the document certificate is valid.

{
    "checks": [
        {
            "answer": "GREEN",
            "checkType": "NFC",
            "createdAt": "2025-08-07 11:16:21",
            "id": "e52cb57b-0e7a-4e46-8a3b-3cc490516802",
            "inputDoc": {
                "idDocType": "ID_CARD",
                "country": "KAZ"
            },
            "nfcCheckInfo": {
                "validCertificate": "GREEN",
                "extractedData": {
                    "signedData": {
                        "issuerPrincipal": "CN=Certificate Authority Offline-1, OU=eDocuments and eID, O=Republic of Kazakhstan, C=KZ"
                    },
                    "mrzInfo": {
                        "fullMrz": "IDKAZ0533757222910000000000<<<\n9104071M0000000KAZ<<<<<<<<<<<9\nDOE<<JOHN<<<<<<<<<<<<<<<<<\n",
                        "dateOfExpiration": 1973721600000,
                        "documentNumber": "100000089",
                        "issuingState": "KAZ",
                        "nationality": "KAZ",
                        "identifier": "DOE JOHN",
                        "dob": 670982400000,
                        "gender": "M"
                    },
                    "images": {
                        "faceMimeType": "image/jpeg"
                    }
                }
            }
        }
    ]
}
```
```json GREEN
// The document chip has been read but the document certificate is invalid.

{
    "checks": [
        {
            "answer": "GREEN",
            "checkType": "NFC",
            "createdAt": "2025-08-07 11:16:21",
            "id": "e52cb57b-0e7a-4e46-8a3b-3cc490500000",
            "inputDoc": {
                "idDocType": "ID_CARD",
                "country": "KAZ"
            },
            "nfcCheckInfo": {
                "validCertificate": "RED",
                "extractedData": {
                    "mrzInfo": {
                        "documentNumber": "100000000",
                        "issuingState": "KAZ",
                        "nationality": "KAZ",
                        "identifier": "DOE JOHN",
                        "dob": 670982400000,
                        "gender": "M"
                    }
                }
            }
        }
    ]
}
```
```json RED
// The document chip could not be read (processing error).

{
    "checks": [
        {
            "answer": "RED",
            "checkType": "NFC",
            "createdAt": "2025-08-05 14:06:23",
            "id": "36c65d0e-0760-43e0-ae2c-acfc14d50efe",
            "inputDoc": {
                "idDocType": "ID_CARD",
                "country": "KAZ"
            },
            "nfcCheckInfo": {
                "processingErrors": [
                    {
                        "reason": "userCancelled"
                    }
                ]
            }
        }
    ]
}
```
```json Empty
// Empty `checks` array means the NFC check was not performed for this applicant.

{
  "checks": []
}
```

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:

```json
{
    "code": 404,
    "description": "Applicant with id 682e260519dabfbd86d9b45d not found",
    "type": "de.smtdp.commons.service.exceptions.ServiceException"
}
```

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/checks/latest?type=NFC": {
      "get": {
        "summary": "Get NFC verification results",
        "description": "",
        "operationId": "get-nfc-verification-results",
        "parameters": [
          {
            "name": "applicantId",
            "in": "query",
            "description": "Unique applicant identifier in the Sumsub system. <br><br>This identifier is a random combination of 24 digits and lowercase Latin characters. It is automatically generated when the applicant is created on the Sumsub side, and can be found in the [Dashboard](https://cockpit.sumsub.com/checkus/#/applicants/individual?limit=10&page=0). <br><br>If the `applicantId` is unknown to you, use the [Get applicant data (externalUserId)](https://docs.sumsub.com/sumsub/reference/get-applicant-data-via-externaluserid) method to fetch it.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```