# CURP by data validation v4

`POST /api/validate/curp-by-data/v4`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

Check for valid CURP based on a person data and return corresponding values of that person including the CURP.

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `api-version` | header | string | yes |  |

## Request body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `curp` | string |  | User's curp. Has to be in valid format. If it isn't present, then curp value from interview is used. |
| `name` | string |  |  |
| `firstLastName` | string |  |  |
| `secondLastName` | string |  |  |
| `gender` | string |  | Valid gender values are "H" (Hombre, male), "M" (mujer, female) and "X" (otro, other) Enum: `H`, `M`, `X` |
| `birthDate` | string (dd/mm/yyyy) |  |  |
| `state` | string |  |  |
| `externalId` | string |  |  |

## Responses

### 200

If data doesn't match any CURP then the field renapo_valid will be false.

If there is an error with the request data an error object is returned with the details, example:"
```
{ "error": { "descripcionRespuesta": "DATOS INCORRECTOS: [El campo no cumple con el formato.]", "codigoRespuesta": "02", } }
```

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `success` | boolean |  | Flag indicating request passed successfully. |
| `curp` | string |  | Curp |
| `sex` | string |  | Sex Enum: `Mujer`, `Hombre`, `X` |
| `nationality` | string |  | Nationality |
| `result` | string |  |  |
| `transactionId` | string |  |  |
| `renapo_valid` | boolean |  | Flag indicating if CURP validation passed - tipoError present in response |
| `names` | string |  | Names |
| `paternal_surname` | string |  | Paternal surname |
| `mothers_maiden_name` | string |  | Mother maiden name |
| `birthdate` | string |  | Birth Date in format DD/MM/YYYY |
| `entity_birth` | string |  | Birth State |
| `probation_document` | string |  | Probation Document |
| `probation_document_data` | object |  | Key/Value structure. All keys are type of string. Available Key values: - anioReg - foja - tomo - libro - numActa - CRIP - numEntidadReg - cveMunicipioReg - NumRegExtranjeros - FolioCarta - cveEntidadNac - cveEntidadEmisora |
| `status_curp` | string |  | Status Curp |
| `deceasedStatus` | string |  | Deceased Status |

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |
