Civil Registry
This API allows the query of information against civil registries, the following registries are supported:
- RENIEC (Peru 🇵🇪)
- DHA (South Affrica 🇿🇦)
- Melissa EID (Global 🌍)
- Chile Civil Registry (Chile 🇨🇱)
RENIEC
Query by document number
The following request allows you to obtain the data associated with a document number (CUI):
curl --location '{IDENTITY_API_BASE_URL}/civil-registry/reniec/documents/{DOCUMENT_NUMBER}' \
--header 'x-api-key: {API_KEY}'
Request parameters:
| Field | Description |
|---|---|
| DOCUMENT_NUMBER | 8-digit document number (CUI) |
Example response:
200 OK
Content-Type: application/json
{
"addrContinent": "XXXXXXX ",
"addrCountry": "XXXX ",
"apellidoCasada": " ",
"apellidoMaterno": "XXXXXXX ",
"apellidoPaterno": "XXXXXXX ",
"blkDireccion": " ",
"civilStatus": "0",
"departamentoNacimiento": "XXXXXXXXXXX ",
"direccion": "XXXXXXXXXXXXXXXXXXX ",
"distDomicilio": "XXXXXXXX ",
"distritoNacimiento": "XXXXXXXX ",
"dni": "00000000",
"dptoDomicilio": "XXXXXXXXXXX ",
"dver": "0",
"etapaDireccion": " ",
"fechaCaducidad": "00000000",
"fechaExpedicion": "00000000",
"fechaInscripcion": "00000000",
"fechaNacimiento": "00000000",
"intDireccion": "000 ",
"lotDireccion": " ",
"mznDireccion": " ",
"nombres": "XXXXXXXXXXXX ",
"numDireccion": "000 ",
"paisNacimiento": "XXXX ",
"picture": "",
"preBlockChalet": " ",
"preDireccion": "00",
"preDptoPisoInterior": "00",
"preUrb": "00",
"provDomicilio": "XXXXXXXX ",
"provinciaNacimiento": "XXXXXXXX ",
"sexo": "0",
"sip_authenticator": null,
"sip_host": null,
"sip_port": null,
"ubigeoContinent": "00",
"ubigeoContinentNacimiento": "00",
"ubigeoCountry": "00",
"ubigeoCountryNacimiento": "00",
"urbDireccion": "XXXXXXXXXXXXX "
}
DHA
Create Customer
You will need to create a customer before performing any of the consumer verifications and validations.
The following request allows you to create a new customer:
curl --location '{IDENTITY_API_BASE_URL}/civil-registry/dha/customers' \
--data-raw '{
"id_type": "id_number",
"id_number": "9999999999999",
"client_reference": "clientnumber1",
"email": "[email protected]",
"first_name": "Walter",
"middle_name": "Hartwell",
"last_name": "White",
"popi": true,
"terms_and_conditions": true,
"country": null
}'
--header 'x-api-key: {API_KEY}'
Request parameters:
| Field | Description |
|---|---|
| id_type | string: "id_number" OR "passport |
| id_number | string: 13-digit South African ID Number |
| first_name | string: The Customer's First Name as per their ID Document. |
| middle_name | string: The customer's Middle Name as per their ID Document. |
| last_name | string: The Customer's Last Name/Surname as per their ID Document. |
| string: The Customer's Email Address. It has to be of the format example@123.com | |
| client_reference | string: This is a reference that you may use to identify and do a lookup on the Customer in your system. Each Customer needs to have a unique client_reference |
| country | string: The Customer's nationality. |
| popi | boolean: This is used to store whether the Customer has given you Consent under the Protection Of Personal Information (POPI) Act to continue with collecting their data and performing additional verifications |
| terms_and_conditions | string: This is used to store whether the Customer has agreed to the Terms and Conditions of the Application and Verifications you are performing. |
Example response:
200 OK
Content-Type: application/json
{
"id": "16cd33d2-cf0a-66ad-8150-cb39e9b9ff27",
"client_reference": "clientnumber1",
"popi": null,
"terms_and_conditions": null,
"email": "[email protected]",
"id_number": "9999999999999",
"first_name": "Walter",
"middle_name": "Hartwell",
"last_name": "White",
"full_name": "Walter Hartwell White",
"id_type": "id_number",
"country": null,
"initials": "WHW",
}
Validate Customer
The following request allows you to obtain the data associated with an id number:
Please note that we will perform the Verification on the ID Number that was provided in the POST Create New Customer endpoint.
curl --location '{IDENTITY_API_BASE_URL}/civil-registry/dha/validation/{ID_NUMBER}' \
--header 'x-api-key: {API_KEY}'
Request parameters:
| Field | Description |
|---|---|
| DOCUMENT_NUMBER | 13-digit id number |
Example response:
200 OK
Content-Type: application/json
{
"id": "d56c6eb9-0caf-4c36-ae3d-6be8841a10d4",
"idNumber": "{{idNumber}}",
"firstNames": "{{firstName}}",
"surname": "{{lastName}}",
"gender": "Female",
"dateOfBirth": "1992-08-01T00:00:00",
"status": "Active",
"datePerformed": "2024-03-01T14:46:06.4871561+02:00",
"birthPlaceCountryCode": "",
"deadIndicator": false,
"dateOfDeath": "",
"maritalStatus": "",
"dateOfMarriage": "",
"idIssueDate": "20160831",
"idSequenceNumber": "1",
"onHANIS": true,
"onNPR": true,
"smartCardIssued": true,
"idNumberBlocked": false,
"photo": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDABA.....",
"dataSource": "DHA SAFPS",
"hasPhoto": true
}
Melissa EID
curl --location '{IDENTITY_API_BASE_URL}/civil-registry/melissaeid' \
--data-raw '{
"TransmissionReference":"",
"Actions":"Check,Verify",
"AddressOptions":"",
"EmailOptions":"",
"PhoneOptions":"",
"NameOptions":"NameHint:DefinitelyFull",
"Options":"",
...
}'
--header 'x-api-key: {API_KEY}'
See full list of parameters and their options in Melissa's official documentation: https://www.melissa.com/quickstart-guides/personator-identity>
Example response:
200 OK
Content-Type: application/json
{
"Address": {
"AddressKey": "{{addressKey}}",
"AddressLine1": "{{addressLine1}}",
"AddressLine2": "{{addressLine2}}",
"AddressLine3": "{{addressLine3}}",
...
},
"Email": {
"BreachCount": "",
"DateChecked": "8/24/2023 9:51:25 PM",
"DeliverabilityConfidenceScore": "55",
"DomainAddress1": "",
...
},
"Identity": {
"AccountNumber": {
"Validated": ""
},
"BusinessInformation": {
"ID": "",
"Name": "",
"RegistrationDate": "",
"Status": "",
"Type": ""
},
"Confidence": "High",
"Datasources": [
{
"DatasourceName": "Credit-1",
"Messages": [
{
"Description": "First/given/forename matched",
"ResultCode": "KV03"
},
{
"Description": "Full match was made on First Initial",
"ResultCode": "KV31"
},
{
"Description": "Last/surname name matched",
"ResultCode": "KV04"
},
...
],
"Results": "KV03,KV31,KV04,KV01,KV10,KV11,KV12,KV13,KV14"
}
],
"DateOfBirth": "{{dateOfBirth}}",
"NationalID": "{{nationalId}",
"Results": "KV03,KV31,KV04,KV01,KV10,KV11,KV12,KV13,KV14",
"WatchlistPersons": "",
"Watchlists": {
"Articles": [],
"Hit": "",
"ReportLink": "",
"Sources": []
}
},
"Name": {
"Company": "",
"Gender": "",
"Gender2": "",
"NameFirst": "{{nameFirst}}",
...
},
"Phone": {
"AdministrativeArea": "",
"CallerID": "",
"Carrier": "EE Limited (Orange)",
"CountryAbbreviation": "GB",
...
},
"Results": "",
"TransactionID": "{{transactionId}",
"TransmissionReference": "",
"Version": "7.2.0.1214"
}
See the full response and its different fields in Melissas official documentation: https://www.melissa.com/quickstart-guides/personator-identity
Chile Civil Registry COW Validation
This service allows the verification of the validity and status of Chilean identity cards by integrating with the Chilean Civil Registry's COW (Certificate of Validity) system.
curl --location '{IDENTITY_API_BASE_URL}/civil-registry/vigencia-cow' --header 'x-api-key: {API_KEY}' --data-raw '{
"RUN": "12345678-9",
"credentialNumber": "000000000"
}'
Request parameters:
| Field | Description |
|---|---|
| RUN | The user's Chilean ID number, including the check digit. |
| credentialNumber | A unique credential number associated with the ID. |
Example response:
200 OK
Content-Type: application/json
{
"responseData": {
"idTransaction": "03a10a56-cf9f-4248-bd60-5ce992562930",
"transactionDate": "2024-12-13",
"statusTransaction": "000",
"errorDescription": "ACK"
},
"identity": [
{
"status": "NO BLOQUEADO",
"run": "12345678-9",
"credentialProfileId": "CEDULA",
"credentialNumber": "000000000",
"expiryDate": "2029-06-22",
"validityStatus": "VIGENTE"
}
]
}
Response Fields
| Field | Type | Description | Required |
|---|---|---|---|
| responseData | Object (ResponseData) | Contains the transaction data. | Yes |
| identity | List (IdentityCOW) | Contains the identity details. | Yes |
ResponseData
| Field | Type | Description | Required |
|---|---|---|---|
| idTransaction | string | Unique identifier of the transaction. | Yes |
| transactionDate | string | Date of the transaction in YYYY-MM-DD format. | Yes |
| statusTransaction | string | Status of the transaction: | Yes |
- 000: ACK | |||
- 201: Technical error | |||
- 206: Invalid format | |||
- 301: Non-existent data | |||
- 304: Poor quality | |||
- 306: No fingerprint provided | |||
| errorDescription | string | Description of the transaction status: | Yes |
- ACK: Acknowledged | |||
- Technical error: An error occurred during processing | |||
- Invalid format: The provided format is incorrect | |||
- Non-existent data: No data found | |||
- Poor quality: Provided data is of insufficient quality | |||
- No fingerprint provided: Fingerprint data was missing |
Identity
| Field | Type | Description | Required |
|---|---|---|---|
| RUN | string | Chilean National ID number (RUT). | Yes |
| credentialProfileId | string | Type of credential. Allowed values: CEDULA, CEDULA_EXT, PASAPORTE, DOC_VIAJE, TITULO_VIAJE, SALVO_CONDUCTO. | Yes |
| credentialNumber | string | Document number associated with the credential. | Yes |
| expiryDate | string | Expiry date of the credential. | Yes |
| validityStatus | string | Validity status of the credential. Allowed values: VIGENTE, NO_VIGENTE. | Yes |
| status | string | Detailed status of the credential. Allowed values: NO BLOQUEADO, CREACIÓN/RENOVACIÓN, TEMPORAL, TEMPORAL PERMANENTE, DEFINITIVO. | Yes |