Conventions
JSON request and response bodies Amounts are decimal numbers Peru document identifiers only POST /pe/checkSUNAT invoice check
Submit the issuer RUC, document type, series, correlative, issue date, and amount to check a document against SUNAT.
| Field | Type | Description |
|---|
| issuer | string | Issuer RUC. |
| document_type | string | SUNAT document type code. Example: 03 for boleta. |
| series | string | Document series. |
| correlative | number | Document correlative number. |
| issue_date | string | Issue date in DD/MM/YYYY format. |
| amount | number | Total document amount. |
curl -X POST http://localhost:8888/pe/check \
-H "Content-Type: application/json" \
-d '{
"issuer": "20601172232",
"document_type": "03",
"series": "B006",
"correlative": 1471,
"issue_date": "03/01/2026",
"amount": 709.00
}'
| Field | Type | Description |
|---|
| valid | boolean | Whether the submitted document was found and validated. |
| invoice_status | string | SUNAT invoice result. Example: NO EXISTE when the document is not found. |
| issuer_status | string | Issuer taxpayer status returned by the authority, or DESCONOCIDO when unavailable. |
| issuer_condition | string | Issuer taxpayer condition returned by the authority, or DESCONOCIDO when unavailable. |
| authority | string | Validation authority. Example: SUNAT. |
| observations | string[] | Provider observations returned during the check. |
{
"valid": false,
"invoice_status": "NO EXISTE",
"issuer_status": "DESCONOCIDO",
"issuer_condition": "DESCONOCIDO",
"authority": "SUNAT",
"observations": [
"Operation Success! "
]
}
GET /pe/searchDNI person search
Search a Peruvian DNI and receive the person-name fields returned by the provider. Query parameter names should match your handler implementation.
| Field | Type | Description |
|---|
| given_names | string | Given names. |
| paternal_surname | string | Paternal surname. |
| maternal_surname | string | Maternal surname. |
| full_name | string | Provider-formatted full name. |
| verification | string | Verification digit or provider verification value. |
| birth_date | string | Birth date in DD/MM/YYYY format when available. |
curl "http://localhost:8888/pe/search?dni=00000000"
{
"given_names": "NOMBRES",
"paternal_surname": "APELLIDO_PATERNO",
"maternal_surname": "APELLIDO_MATERNO",
"full_name": "APELLIDO_PATERNO APELLIDO_MATERNO, NOMBRES",
"verification": "0",
"birth_date": "01/01/1990"
}
GET /pe/searchRUC organization search
Search a Peruvian RUC and receive the legal organization name, status, condition, and registered address fields.
| Field | Type | Description |
|---|
| name | string | Legal organization name. |
| type | string | Organization legal type. |
| status | string | Taxpayer status. |
| condition | string | Taxpayer condition. |
| department | string | Department. |
| province | string | Province. |
| district | string | District. |
| address | string | Registered address. |
| full_address | string | Address with location fields. |
curl "http://localhost:8888/pe/search?ruc=20601172232"
{
"name": "EMPRESA EJEMPLO S.A.",
"type": "SOCIEDAD ANONIMA",
"status": "ACTIVO",
"condition": "ACTIVO",
"department": "LIMA",
"province": "LIMA",
"district": "SAN ISIDRO",
"address": "AV. EJEMPLO NRO. 123",
"full_address": "AV. EJEMPLO NRO. 123 LIMA - LIMA - SAN ISIDRO"
}