> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CURP Verifier

> Learn about CURP Verifier API for Mexican ID verification using RENAPO database

CURP Verifier is a specialized API that validates CURP (Clave Única de Registro de Población) numbers from Mexican ID documents using the official Mexican government database of Registro Nacional de Población (RENAPO). This API allows clients to verify CURP numbers from their users to ensure proper identification of Mexican users.

## Key Features

* **Official Database Integration**: Connect to Mexican government RENAPO database
* **CURP Validation**: Verify CURP numbers against official records
* **Real-time Verification**: Get instant verification results
* **High Accuracy**: Reliable verification using official government data
* **Secure Processing**: Encrypted data transmission for privacy protection
* **Compliance Ready**: Meets Mexican government verification standards

## What is CURP?

CURP (Clave Única de Registro de Población) is a unique 18-character alphanumeric code assigned to Mexican citizens and residents. It serves as a national identification number and is used for various government services and official procedures.

## How It Works

1. **CURP Input**: Submit CURP number for verification
2. **Database Query**: Query the official RENAPO database
3. **Validation Check**: Verify CURP authenticity and validity
4. **Data Retrieval**: Extract associated personal information
5. **Result Generation**: Provide verification status and details

## API Endpoints

### Validate CURP API

* **Endpoint**: `POST /validate-curp`
* **Purpose**: Validate CURP number and retrieve associated data
* **Input**: CURP number (required)
* **Output**: Verification status and personal information

## Input Fields

### Required Fields

<ParamField header="curpNumber" type="string" required>
  CURP number to validate and obtain data. This is the 18-character alphanumeric code assigned to Mexican citizens.
</ParamField>

### Optional Fields

<ParamField header="x-api-key" type="string">
  API key essential for authentication and access control purposes, required for authorization.
</ParamField>

## CURP Status Values

### Active Statuses

<AccordionGroup>
  <Accordion title="AN - Normal registration">
    Normal registration status for active CURP numbers.
  </Accordion>

  <Accordion title="AH - Registration with homonymy">
    Note: CURPs with the first 16 positions of the CURP identical to a preceding one, without identity data or registration data.
  </Accordion>

  <Accordion title="RCC - Registration change affecting CURP">
    Note: CURPs that underwent a change in identity or registration data that affected the key itself.
  </Accordion>

  <Accordion title="RCN - Registration change not affecting CURP">
    Note: CURPs that underwent a change in identity or registration data without affecting the key itself.
  </Accordion>
</AccordionGroup>

### Inactive Statuses

<AccordionGroup>
  <Accordion title="BAP - Unsubscribed because apocryphal document">
    Note: CURPs that were generated with an invalid document.
  </Accordion>

  <Accordion title="BSU - Unsubscribed without use">
    Note: These are CURPs that haven't had any activity since they were first issued. That is, they haven't been checked, printed, haven't been used or undergone any movement. To reactivate these keys, a request must be made at a CURP module.
  </Accordion>

  <Accordion title="BD - Unsubscribed because of deceased">
    Unsubscribed because of deceased.
  </Accordion>

  <Accordion title="BDM - Administrative unsubscription">
    Note: CURPs that were deactivated due to a request from a document-issuing entity.
  </Accordion>

  <Accordion title="BDP - Unsubscribed because of adoption">
    Note: CURPs that were deactivated because of new identity data for a person who was adopted.
  </Accordion>

  <Accordion title="BJD - Judicial unsubscription">
    Note: CURPs that were deactivated upon request from a court order.
  </Accordion>
</AccordionGroup>

## Error Codes

<ResponseField name="errorCode" type="string">
  Error code indicating the type of error:

  * 1018: curpNumber is required
  * 1019: Fail to verify curp number
</ResponseField>

<ResponseField name="message" type="string">
  Brief description of the error.
</ResponseField>

## Use Cases

* **Banking**: Verify Mexican customer identity for account opening
* **Government Services**: Authenticate users for official services
* **Employment**: Verify employee identity and work permits
* **Insurance**: Validate customer identity for policy applications
* **Healthcare**: Verify patient identity for medical services

## Supported Documents

* **Mexican National ID**: INE/IFE identification cards
* **Mexican Passport**: Official travel documents
* **Birth Certificates**: Official birth registration documents
* **Naturalization Documents**: Citizenship certificates
* **Other Official Documents**: Government-issued identification

## Compliance and Security

* **Data Protection**: Compliant with Mexican data protection laws
* **Encrypted Transmission**: Secure data transmission protocols
* **Audit Trail**: Maintain verification logs for compliance
* **Privacy Focused**: Process only necessary information
* **Government Standards**: Meet official verification requirements

## Getting Started

To start using CURP Verifier, you'll need to:

1. Set up your API credentials
2. Prepare CURP numbers for verification
3. Submit your first verification request
4. Handle the verification results in your application


## OpenAPI

````yaml POST /verify/curp
openapi: 3.1.0
info:
  title: CURP Verifier API
  description: >-
    API for validating CURP (Clave Única de Registro de Población) numbers from
    Mexican ID documents using the official RENAPO database
  version: 1.0.0
servers:
  - url: https://idverify-api.argosidentity.com/modules
    description: Production server
security: []
paths:
  /verify/curp:
    post:
      tags:
        - CURP Verifier
      summary: Validate CURP number
      description: >-
        Validate CURP number from Mexican ID document using the official RENAPO
        database
      operationId: validateCurp
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - curpNumber
              properties:
                curpNumber:
                  type: string
                  description: CURP Number to validate and obtain data
                  example: MOOK930101HCCNRN04
      responses:
        '200':
          description: Successful CURP validation
          content:
            application/json:
              schema:
                type: object
                properties:
                  estatus:
                    type: string
                    description: Status of the verification request
                    example: OK
                  codigoValidacion:
                    type: string
                    description: Validation code for the verification request
                    example: vc1619806387.2754068
                  curp:
                    type: string
                    description: The CURP number that was validated
                    example: RAZR811012HVZMPB00
                  nombre:
                    type: string
                    description: Full name of the person associated with the CURP
                    example: RAMIRO ALONSO
                  apellidoPaterno:
                    type: string
                    description: Father's family name
                    example: RASCON
                  apellidoMaterno:
                    type: string
                    description: Mother's family name
                    example: ZAPATA
                  sexo:
                    type: string
                    description: Gender of the person
                    example: HOMBRE
                  fechaNacimiento:
                    type: string
                    description: Date of birth in DD/MM/YYYY format
                    example: 11/10/1981
                  paisNacimiento:
                    type: string
                    description: Country of birth
                    example: MEXICO
                  estadoNacimiento:
                    type: string
                    description: State of birth
                    example: VERACRUZ
                  docProbatorio:
                    type: number
                    description: Type of supporting document
                    example: 1
                  datosDocProbatorio:
                    type: object
                    description: Supporting document data
                    properties:
                      entidadRegistro:
                        type: string
                        description: Registry entity
                        example: VERACRUZ
                      tomo:
                        type: string
                        description: Volume Number
                      claveMunicipioRegistro:
                        type: string
                        description: Local Registry Number
                        example: '108'
                      anioReg:
                        type: string
                        description: Registered Year
                        example: '1983'
                      claveEntidadRegistro:
                        type: string
                        description: Entity Record Key
                        example: '30'
                      foja:
                        type: string
                        description: Page Number
                      numActa:
                        type: string
                        description: Record Number
                        example: '03382'
                      libro:
                        type: string
                        description: Book Number
                      municipioRegistro:
                        type: string
                        description: City of Registration
                        example: MINATITLÁN
                  estatusCurp:
                    type: string
                    description: >-
                      CURP status indicating the current state of the
                      registration
                    example: RCN
                  codigoMensaje:
                    type: string
                    description: Message code indicating the result of the verification
                    example: '0'
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Brief description of the error
                  errorCode:
                    type: string
                    description: Error code indicating the type of error
                    enum:
                      - '1018'
                      - '1019'

````