Get PoA check results

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Use this method to get the results of the latest Proof of address (PoA) check performed for an applicant.

The PoA check verifies a document that the applicant submitted as proof of their residential address — for example, a utility bill or a bank statement — and, when the corresponding settings are enabled, an identity document used as proof of address (PoI as PoA). Alongside the overall verdict, the response returns some of the individual sub-checks that make up the verdict, the data recognized on the document, and the detected type and subtype of the issuing organization.

The method returns the latest active PoA check of the requested type for the applicant, subject to the following:

  • Checks that were deactivated (for example, because the document was replaced and re-verified) are not returned.
  • Only one check is returned, wrapped in the checks array.
  • If the applicant exists but has no PoA check of the requested type, the response is 200 OK with an empty checks array.
  • This method covers only document-based proof of address. If the applicant confirmed their address through geolocation as PoA, no PoA check is produced, and this method returns an empty checks array for every type value.
📘

Note

To get the check for the second Proof of address step, call the same method with type=POA2. The checkType field of the returned check always equals the value you requested.

Request examples

curl -X GET \
     'https://api.sumsub.com/resources/checks/latest?applicantId=632acad6f170310001c00000&type=POA' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>'
curl -X GET \
     'https://api.sumsub.com/resources/checks/latest?applicantId=632acad6f170310001c00000&type=POA2' \
     -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 is a JSON object with a single checks array that contains the latest PoA check and its detailed results.

📘

Note

The response omits every field that has no value, so the exact set of fields differs from check to check.

FieldTypeDescription
checksArray of objectsThe latest active PoA check of the requested type. Contains at most one element, and is empty when the applicant has no such check.

checks element fields

FieldTypeDescription
idStringUnique identifier of the check.
checkTypeStringType of the check. Always equals the type value you requested:
  • POA for the first Proof of address step.
  • POA2 for the second one.
createdAtStringDate and time (UTC) when the check was performed, in the YYYY-MM-DD HH:MM:SS format.
answerStringOverall result of the PoA check:
  • GREEN – The check passed, no issues found.
  • YELLOW – The check could not be completed with certainty — usually because the required data could not be reliably recognized on the document.
  • RED – The check failed, the document does not meet the requirements.
poaCheckInfoObjectResults of the PoA check and its individual sub-checks.
inputDocObjectData of the document that the check was performed on, as it is stored in the applicant profile.
extractedDocObjectAdditional data recognized on the submitted document.

poaCheckInfo attributes

FieldTypeDescription
answerStringOverall result of the PoA check:
  • GREEN – The check passed, no issues found.
  • YELLOW – The check could not be completed with certainty — usually because the required data could not be reliably recognized on the document.
  • RED – The check failed, the document does not meet the requirements.
unexpiredStringWhether the document is still valid at the moment of the check.
  • GREEN — the document is within its validity period.
  • RED — the document is outdated.
  • YELLOW — the date needed for the calculation could not be read from the document or was recognized with low confidence.
acceptableTypeStringWhether the document is accepted as a proof of address under your settings.

For standard PoA documents:
  • GREEN — the recognized issuer type (and subtype, if subtypes are required) is on the allowed list.
  • RED — the issuer type is not allowed, the recognized subtype is not allowed, or the document was issued by an unconventional provider while your settings do not accept them.
  • YELLOW — the issuer type or the required subtype could not be recognized.
For an identity document used as a PoA:
  • GREEN — accepting PoI as PoA is enabled and this document type is on the allowed list.
  • RED — otherwise.
  • YELLOW — the document type has not been recognized.
validAddressStringWhether the address recognized on the document is a valid residential address of an accepted kind.
  • GREEN — the address was recognized and its type is allowed by your PoA settings.
  • RED — the address type is not allowed (for example, a PO box address where PO boxes are not accepted).
  • YELLOW — no address or no street was recognized on the document, or the address fields were recognized with low confidence.
acceptableRegionStringWhether the address is located in a region that Sumsub can accept.
  • GREEN — no restricted region detected.
  • RED — the address belongs to a restricted region (for example, an occupied or sanctioned territory).
  • YELLOW — inherited from validAddress when no reliable address could be read from the document.
poiPoaCountryMatchedStringWhether the country of the PoA document matches the country of the applicant's identity documents.
  • GREEN — the countries match, or the applicant has no identity documents to compare with. RED — the countries differ.
  • YELLOW — the country of the PoA document could not be recognized.
The field is absent when the Reject proof of address due to country mismatch with proof of identity setting is disabled for the level.
poiAsPoaBooleanWhether an identity document was submitted as the proof of address.
  • false — a standard PoA document (utility bill, bank statement, and similar).
  • true — an identity document used as a PoA.
poaIdDocTypeStringType of the identity document that was used as the proof of address, for example: ID_CARD, PASSPORT, DRIVERS, or RESIDENCE_PERMIT.

Returned only when poiAsPoa is true.
companyContactObjectCategory of the organization that issued the document.

Returned only when poiAsPoa is false.
subTypeStringRecognized subtype of the document within the issuer category, for example utilityBill or bankStatement.

See companyContact attributes for the values available per category.

Returned only when the advanced PoA type detection service is enabled for your account and the recognized subtype is valid for the recognized issuer type.
unconventionalProviderBooleanWhether the document was issued by an unconventional provider of its category — for example, a neobank rather than a traditional bank. Whether such documents are accepted is controlled per issuer type in your PoA settings.

Returned only when poiAsPoa is false.

companyContact attributes

FieldTypeDescription
typeStringCategory of the organization that issued the document.

Possible type values and the poaCheckInfo.subType values that can be returned for each of them:

typeDescriptionPossible subType values
governmentOrganizationDocuments issued by government organizations.statement, voterRegistration, taxBill, other
utilityProviderDocuments issued by utility companies.telecom, utilityBill, other
bankDocuments issued by banks.bankLetter, bankStatement, other
mobileOperatorStatements and bills for mobile communications.This category has no subtypes.
otherDocuments not covered by other categories, such as lease agreements or employer confirmation letters.lease, universityLetter, employmentLetter, other

Refer to Set document types for detailed description.

inputDoc attributes

inputDoc is a snapshot of the applicant document the check was performed on. It contains the data recognized on the document. Fields with no value are omitted.

For a standard PoA document, recognition targets the applicant name, the address, and the issue date. For an identity document used as a PoA, the document number and the expiry date are extracted as well.

FieldTypeDescription
idDocTypeStringType of the document as it is stored in the applicant profile.

For PoA checks, this is UTILITY_BILL for the first PoA step and UTILITY_BILL2 for the second one, including when an identity document was used as a proof of address. The actual identity document type in the latter case is returned in poaCheckInfo.poaIdDocType.
countryStringAlpha-3 code of the country the document belongs to. For example, DEU, GBR, ARG.
firstNameStringApplicant first name as recognized on the document.
firstNameEnStringTransliteration of firstName into Latin characters.
middleNameStringApplicant middle name as recognized on the document.
middleNameEnStringTransliteration of middleName into Latin characters.
lastNameStringApplicant last name as recognized on the document.
lastNameEnStringTransliteration of lastName into Latin characters.
aliasNameStringAdditional name recognized on the document.
parentName1StringName of the first parent, for document types that carry it.
parentName2StringName of the second parent, for document types that carry it.
issuedDateStringDate the document was issued, in the YYYY-MM-DD format.
validUntilStringDate the document expires, in the YYYY-MM-DD format.
firstIssuedDateStringDate the document was first issued, in the YYYY-MM-DD format.
issueAuthorityStringAuthority or organization that issued the document.
issueAuthorityCodeStringCode of the issuing authority.
issueNumberStringIssue number of the document.
numberStringDocument number.
additionalNumberStringSecond document number, for countries where an additional document number exists.
tinStringTaxpayer identification number recognized on the document.
dobStringApplicant date of birth, in the YYYY-MM-DD format.
genderStringApplicant gender as recognized on the document.
nationalityStringAlpha-3 code of the applicant nationality recognized on the document.
placeOfBirthStringApplicant place of birth as recognized on the document.
categoryStringCategory of the document, for document types that carry it (for example, a driving licence category).
mrzLine1StringFirst line of the machine-readable zone, for identity documents used as a PoA.
mrzLine2StringSecond line of the machine-readable zone.
mrzLine3StringThird line of the machine-readable zone.
barcodeLineStringRaw content of the barcode recognized on the document if the barcode is present.
addressObjectAddress as stored on the document.

address attributes

Used by inputDoc.address. Fields with no value are omitted.

FieldTypeDescription
countryStringAlpha-3 code of the country.
postCodeStringPostal code.
townStringCity or settlement.
townEnStringTransliteration of town into Latin characters.
stateStringState, province, or region.
stateEnStringTransliteration of state into Latin characters.
stateCodeStringCode of the state or province.
streetStringStreet. Depending on the level settings and your requirements, this field may contain the whole address while the other address fields stay empty.
streetEnStringTransliteration of street into Latin characters.
subStreetStringSecond address line.
subStreetEnStringTransliteration of subStreet into Latin characters.
buildingNameStringName of the building.
buildingNumberStringNumber of the building.
flatNumberStringFlat or apartment number.
formattedAddressStringThe whole address assembled into a single line.
startDateStringDate and time the applicant started living at this address, in the YYYY-MM-DD HH:MM:SS format.
endDateStringDate and time the applicant stopped living at this address, in the YYYY-MM-DD HH:MM:SS format.
sourceStringHow the address was obtained:
  • manual — entered by the applicant.
  • autoComplete — filled using autocomplete.
  • gps — derived from GPS coordinates.
  • externalDb — retrieved from an external database.
  • proofOfAddress — extracted from a proof of address document.
  • proofOfIdentity — extracted from an identity document.
locationPositionObjectGeographical position resolved for this address.

locationPosition attributes

FieldTypeDescription
formattedAddressStringAddress resolved for the coordinates.
locationCoordsObjectCoordinates:
  • lat (Number) — latitude.
  • lon (Number) — longitude.

extractedDoc attributes

Additional data recognized on the submitted document, beyond the document fields returned in inputDoc.

FieldTypeDescription
companyNameStringName of the company or institution that issued the document (for example, the utility provider or bank).

Returned only for standard proof of address documents.
companyWebsiteStringWebsite of the issuing company or institution.

Returned only for standard proof of address documents.
documentNameStringName/title of the document as identified during processing.

Returned only for standard proof of address documents.
detectedLanguagesArray of stringsLanguages detected in the document (for example, ["en", "de"]).

Returned for proof of address checks.
ibanStringIBAN recognized on the document. Typically returned for bank statements.
📘

Note:

companyName, companyWebsite, and documentName apply to standard PoA documents, while detectedLanguages applies to all PoA checks, including identity-document-as-PoA. All four are omitted when unavailable NON_NULL serialization).

Response examples

If the request is successfully sent and processed, you will get a response like one of the following:

// The following example lists every field that the method can return. In practice, a single check never contains all of them at once: `companyContact`, `subType`, `unconventionalProvider`, `companyName`, `companyWebsite`, and `documentName` are returned for standard PoA documents, whereas `poaIdDocType` is returned only when an identity document was used as a proof of address.

{
  "checks": [
    {
      "id": "6874f9db2b8c1a0001f3ae21",
      "checkType": "POA",
      "createdAt": "2026-07-14 11:23:07",
      "answer": "GREEN",
      "poaCheckInfo": {
        "answer": "GREEN",
        "unexpired": "GREEN",
        "acceptableType": "GREEN",
        "validAddress": "GREEN",
        "acceptableRegion": "GREEN",
        "poiPoaCountryMatched": "GREEN",
        "poiAsPoa": false,
        "poaIdDocType": "ID_CARD",
        "companyContact": {
          "type": "utilityProvider"
        },
        "subType": "utilityBill",
        "unconventionalProvider": false
      },
      "inputDoc": {
        "idDocType": "UTILITY_BILL",
        "country": "GBR",
        "firstName": "JANE",
        "firstNameEn": "JANE",
        "middleName": "ANNE",
        "middleNameEn": "ANNE",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "aliasName": "J. DOE",
        "parentName1": "JOHN DOE",
        "parentName2": "MARY DOE",
        "issuedDate": "2026-06-02",
        "validUntil": "2031-06-01",
        "firstIssuedDate": "2019-04-02",
        "issueAuthority": "Thames Water",
        "issueAuthorityCode": "TW-01",
        "issueNumber": "3",
        "number": "P1234567",
        "additionalNumber": "9876543",
        "tin": "AB123456C",
        "dob": "1990-01-31",
        "gender": "F",
        "nationality": "GBR",
        "placeOfBirth": "London",
        "category": "B",
        "mrzLine1": "IDGBR1234567897<<<<<<<<<<<<<<<",
        "mrzLine2": "9001319F3106014GBR<<<<<<<<<<<8",
        "mrzLine3": "DOE<<JANE<ANNE<<<<<<<<<<<<<<<<",
        "barcodeLine": "ANSI 636000100002DL00410288",
        "address": {
          "country": "GBR",
          "postCode": "SW1A 2AA",
          "town": "London",
          "townEn": "London",
          "state": "Greater London",
          "stateEn": "Greater London",
          "stateCode": "LND",
          "street": "Downing Street",
          "streetEn": "Downing Street",
          "subStreet": "Westminster",
          "subStreetEn": "Westminster",
          "buildingName": "Cabinet Office",
          "buildingNumber": "10",
          "flatNumber": "2",
          "formattedAddress": "10 Downing Street, Westminster, London SW1A 2AA, United Kingdom",
          "startDate": "2023-01-15 00:00:00",
          "endDate": "2026-05-01 00:00:00",
          "source": "proofOfAddress",
          "locationPosition": {
            "formattedAddress": "10 Downing Street, London SW1A 2AA, UK",
            "locationCoords": {
              "lat": 51.5033635,
              "lon": -0.1276248
            }
          }
        }
      },
      "extractedDoc": {
        "companyName": "Thames Water Utilities Limited",
        "companyWebsite": "thameswater.co.uk",
        "documentName": "Water bill",
        "detectedLanguages": [
          "en"
        ],
        "iban": "GB33BUKB20201555555555"
      }
    }
  ]
}
// A typical response for a standard PoA document looks like this.

{
  "checks": [
    {
      "id": "6874f9db2b8c1a0001f3ae21",
      "checkType": "POA",
      "createdAt": "2026-07-14 11:23:07",
      "answer": "RED",
      "poaCheckInfo": {
        "answer": "RED",
        "unexpired": "RED",
        "acceptableType": "GREEN",
        "validAddress": "GREEN",
        "acceptableRegion": "GREEN",
        "poiAsPoa": false,
        "companyContact": {
          "type": "bank"
        },
        "subType": "bankStatement",
        "unconventionalProvider": true
      },
      "inputDoc": {
        "idDocType": "UTILITY_BILL",
        "country": "DEU",
        "firstName": "MAX",
        "lastName": "MUSTERMANN",
        "issuedDate": "2025-11-04",
        "address": {
          "country": "DEU",
          "postCode": "10115",
          "town": "Berlin",
          "street": "Invalidenstrasse",
          "buildingNumber": "117",
          "formattedAddress": "Invalidenstrasse 117, 10115 Berlin, Germany",
          "source": "proofOfAddress"
        }
      },
      "extractedDoc": {
        "companyName": "N26 Bank AG",
        "companyWebsite": "n26.com",
        "documentName": "Account statement",
        "detectedLanguages": [
          "de"
        ],
        "iban": "DE89370400440532013000"
      }
    }
  ]
}
// A response for an identity document used as a proof of address looks like this.

{
  "checks": [
    {
      "id": "6874fa4d2b8c1a0001f3ae55",
      "checkType": "POA",
      "createdAt": "2026-07-14 11:25:01",
      "answer": "GREEN",
      "poaCheckInfo": {
        "answer": "GREEN",
        "unexpired": "GREEN",
        "acceptableType": "GREEN",
        "validAddress": "GREEN",
        "acceptableRegion": "GREEN",
        "poiAsPoa": true,
        "poaIdDocType": "RESIDENCE_PERMIT"
      },
      "inputDoc": {
        "idDocType": "UTILITY_BILL",
        "country": "ESP",
        "firstName": "MARIA",
        "lastName": "GARCIA",
        "number": "Z1234567X",
        "issuedDate": "2024-03-18",
        "validUntil": "2029-03-17",
        "dob": "1988-07-22",
        "address": {
          "country": "ESP",
          "postCode": "28013",
          "town": "Madrid",
          "street": "Gran Via",
          "buildingNumber": "28",
          "formattedAddress": "Gran Via 28, 28013 Madrid, Spain",
          "source": "proofOfIdentity"
        }
      },
      "extractedDoc": {
        "detectedLanguages": [
          "es"
        ]
      }
    }
  ]
}

You will get an empty list if the applicant exists but has no PoA check, if the only check available belongs to the other type POAPOA2), or if the address was confirmed via geolocation as PoA.

{
  "checks": []
}

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

{
  "code": 400,
  "description": "Invalid id 'not-an-object-id'",
  "correlationId": "0d3457fdac54803edf23c90000000000"
}

Possible errors

The errors you can encounter:

HTTP codeWhen it happens
400The applicantId is not a valid identifier, or the type parameter is missing.
401The request signature or the app token is invalid.
403The token does not have permission to read check results.
404The applicant does not exist or is not available for your token.
Query Params
string
required

Unique applicant identifier in the Sumsub system.

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.

If the applicantId is unknown to you, use the Get applicant data (externalUserId) method to fetch it.

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here!