Skip to main content

Identity Document Verification

Before creating a signing process or running a background check, Auco verifies against the official record that the identity document exists and that its holder is not registered as deceased. In signing processes it also compares the signer's name with the one in the record.

If the verification fails, Auco does not create the process and responds 400 with a code that says what failed. This way no documents are sent for signature and no checks are paid for on behalf of an identity that does not exist.

Coverage depends on the country and document type

When a country or document type has no coverage, the verification is skipped and the process goes on. The same happens if the official record does not respond: a provider failure never stops the process from being created.


🧩 Where It Applies​

ServiceWhat is verifiedWhat it needs
POST /document/uploadStatus and name of each signer.signProfile[x].identification and signProfile[x].identificationType. See Signer fields.
POST /document/saveStatus and name of each signer.The template's signatureProfile must define the signer's identification and document type.
POST /validate/backgroundDocument status. There is no name.type set to CC, CE or PPT. With NIT, Auco checks that the company exists in the RUES.

In signing processes only signers that carry identification are verified. In background checks, the PP and INT types are not verified.


Signer Fields​

These fields go in each element of signProfile in POST /document/upload:

NameTypeDescription
signProfile[x].identificationString optionalSigner's identification number.
signProfile[x].identificationTypeString conditionalDocument type, for example CC or CE. Without it, the signer is not verified and its status comes back as NOT_SUPPORTED.
signProfile[x].countryString optionalTwo-letter ISO code of the document's country. Default is CO.

📥 Response Examples​

When a signer carries identification, the response of POST /document/upload and of POST /document/save includes identityValidation, with one element per verified signer:

{
"document": "ABCDEF1234",
"identityValidation": [
{
"identification": "123456789",
"name": "John Smith",
"validated": true,
"status": "ALIVE",
"nameStatus": "MATCH"
}
]
}

📋 Response Fields​

FieldTypeDescription
identityValidationArray<Object>Optional. Returned only if some signer sent identification.
identityValidation[].identificationStringIdentification number that was verified.
identityValidation[].nameStringSigner name the record was compared against.
identityValidation[].validatedBooleantrue only when status is ALIVE.
identityValidation[].statusStringDocument status. See Document statuses.
identityValidation[].nameStatusStringResult of the name comparison: MATCH, NO_MATCH, NOT_FOUND, UNSUPPORTED or ERROR. It is null when it was not compared.
The result is not stored with the process

identityValidation only comes in the creation response. If you need it later, keep it in your integration.


🔄 Document Statuses (identityValidation[].status)​

StatusDescription
ALIVEThe document exists and its holder is alive.
DECEASEDThe document holder is registered as deceased. Rejects the process.
NOT_FOUNDThe document does not exist in the official record. Rejects the process.
UNKNOWNThe record answered without a conclusive status.
UNSUPPORTEDThe country or document type has no verification coverage.
ERRORThe lookup provider failed.
UNAVAILABLEAuco could not run the lookup.
NOT_SUPPORTEDThe signer has no identificationType, so it was not verified.

Only DECEASED, NOT_FOUND and a name in NO_MATCH reject the process; with any other status the process is created.

The status catalog is not closed

New values may appear. Treat an unknown value as a non-validated result, without failing your integration.


🚫 Rejection Codes​

All of them respond 400. The code comes in message.

CodeDescription
SIGNER_IDENTITY_DECEASEDSigning processes. A signer is registered as deceased.
SIGNER_IDENTITY_NOT_FOUNDSigning processes. A signer's document does not exist in the official record.
SIGNER_NAME_MISMATCHSigning processes. A signer's name does not match the one in the record.
IDENTITY_DECEASEDBackground check. The document holder is registered as deceased.
IDENTITY_NOT_FOUNDBackground check. The document does not exist in the official record.
COMPANY_NOT_FOUNDBackground check with type: NIT. The company does not exist in the RUES.

In signing processes, the error body identifies the signer that caused it. SIGNER_NAME_MISMATCH also carries name:

{
"message": "SIGNER_IDENTITY_NOT_FOUND",
"identification": "123456789"
}