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

# Argentina - DNI data verification (RENAPER, no selfie)

> Verifies an Argentine DNI and gender against the official RENAPER civil registry without a selfie, and returns the registered name, date of birth and tax id for comparison with the submitted data. No biometric: the person is confirmed by data alone. 100% population coverage. Authoritative real-time identity lookup for Argentina. Real-time lookup, pay-per-call.

<div hidden data-didit-db-validation-defaults="{&#x22;issuing_state&#x22;:&#x22;ARG&#x22;,&#x22;services&#x22;:&#x22;arg_renaper_data&#x22;,&#x22;document_number&#x22;:&#x22;1111111&#x22;,&#x22;gender&#x22;:&#x22;M&#x22;,&#x22;first_name&#x22;:&#x22;John&#x22;,&#x22;last_name&#x22;:&#x22;Doe&#x22;,&#x22;date_of_birth&#x22;:&#x22;1990-01-01&#x22;,&#x22;vendor_data&#x22;:&#x22;user-1234&#x22;}" />

Verifies an Argentine DNI and gender against the official RENAPER civil registry without a selfie, and returns the registered name, date of birth and tax id for comparison with the submitted data. No biometric: the person is confirmed by data alone. 100% population coverage. Didit exposes this service through `POST /v3/database-validation/` so you can verify the submitted data against the authoritative source and receive normalized match results.

## Coverage

* **Coverage:** 100%
* **Country:** Argentina
* **Service ID:** `arg_renaper_data`
* **Data domain:** Identity
* **Category:** NationalIDRegistry

## Inputs

| Field             | Required | Example      |
| ----------------- | -------: | ------------ |
| `document_number` |      Yes | `1111111`    |
| `gender`          |      Yes | `M`          |
| `first_name`      |       No | `John`       |
| `last_name`       |       No | `Doe`        |
| `date_of_birth`   |       No | `1990-01-01` |
| `vendor_data`     |       No | `user-1234`  |

* **Required inputs:** `document_number`, `gender`
* **Optional inputs:** `first_name`, `last_name`, `date_of_birth`, `vendor_data`
* **Consent:** Not required
* **Workflow availability:** Standalone API only
* **Coverage:** 100%
* **Price:** \$0.20 per successful query

This service needs an input no workflow step can produce (a biometric capture, a signed artifact, a live one-time code), so it is available only on the standalone API, where you supply the values directly.

## Body parameters

<ParamField body="issuing_state" type="string" required default="ARG" placeholder="ARG">
  ISO 3166-1 alpha-3 country code for this database service.

  Example: `ARG`
</ParamField>

<ParamField body="services" type="string" required default="arg_renaper_data" placeholder="arg_renaper_data">
  Array containing this service ID. Pinning the service keeps the request scoped to this exact database.

  Example: `arg_renaper_data`
</ParamField>

<ParamField body="document_number" type="string" required default="1111111" placeholder="1111111">
  Document number extracted from or provided by the user.

  Example: `1111111`
</ParamField>

<ParamField body="gender" type="string" required default="M" placeholder="M" options="M,F,X">
  Gender value, when required by the database.

  Allowed values: `M` (male), `F` (female), `X` (other or unknown).

  Example: `M`
</ParamField>

<ParamField body="first_name" type="string" default="John" placeholder="John">
  Given name to validate.

  Example: `John`
</ParamField>

<ParamField body="last_name" type="string" default="Doe" placeholder="Doe">
  Family name to validate.

  Example: `Doe`
</ParamField>

<ParamField body="date_of_birth" type="string" default="1990-01-01" placeholder="1990-01-01">
  Date of birth in `YYYY-MM-DD` format.

  Example: `1990-01-01`
</ParamField>

<ParamField body="vendor_data" type="string" default="user-1234" placeholder="user-1234">
  Your stable user reference for this person, such as your internal user ID. Didit uses it to link standalone checks to the same end user and reduce duplicate-detection noise.

  Example: `user-1234`
</ParamField>

## Input rules & validation notes

* Argentine DNI (7-8 digits)
* `document_number` must contain digits only; remove spaces, hyphens, and punctuation before sending the request.
* `document_number` must be 7-8 characters long.

## How to call it

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://verification.didit.me/v3/database-validation/" \
    -H "x-api-key: YOUR_API_KEY" \
    -F "issuing_state=ARG" \
    -F "services=arg_renaper_data" \
    -F "vendor_data=user-1234" \
    -F "document_number=1111111" \
    -F "gender=M"
  ```
</RequestExample>

<ResponseExample>
  Every successful call returns HTTP `200`. The **`outcome_code`** field tells you what actually happened — distinguishing, for example, a real biometric mismatch (`BIOMETRIC_NO_MATCH`) from a selfie that could not be read (`BIOMETRIC_IMAGE_UNUSABLE`). The `status` shown is the default feature status; your configured [Partial Match / No Match actions](/core-technology/database-validation/database-validation-warnings) can override it.

  **`MATCH`** — The registry confirmed the identity and every checked field matched.

  ```json 200 OK — MATCH theme={null}
  {
    "request_id": "req_01H…",
    "status": "Approved",
    "issuing_state": "ARG",
    "match_type": "full_match",
    "validations": [
      {
        "outcome_code": "MATCH",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "date_of_birth": "1990-01-01",
          "first_name": "John",
          "identification_number": "SAMPLE-ID-12345",
          "last_name": "Doe"
        },
        "validation": {
          "identification_number": "full_match"
        }
      }
    ]
  }
  ```

  **`PARTIAL_MATCH`** — The identification number was found but one or more personal fields (usually name or date of birth) did not fully match.

  ```json 200 OK — PARTIAL_MATCH theme={null}
  {
    "request_id": "req_01H…",
    "status": "In Review",
    "issuing_state": "ARG",
    "match_type": "partial_match",
    "validations": [
      {
        "outcome_code": "PARTIAL_MATCH",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "date_of_birth": "1990-01-01",
          "first_name": "John",
          "identification_number": "SAMPLE-ID-12345",
          "last_name": "Doe"
        },
        "validation": {
          "identification_number": "no_match"
        }
      }
    ]
  }
  ```

  **`NO_MATCH`** — The registry returned no match for the submitted data.

  ```json 200 OK — NO_MATCH theme={null}
  {
    "request_id": "req_01H…",
    "status": "Declined",
    "issuing_state": "ARG",
    "match_type": "no_match",
    "validations": [
      {
        "outcome_code": "NO_MATCH",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "identification_number": "NO_MATCH"
        },
        "validation": {
          "identification_number": "no_match"
        }
      }
    ]
  }
  ```

  **`INCONCLUSIVE`** — The registry could not determine whether the person matches - the result is genuinely uncertain (they may or may not be in the registry). This is NOT a no-match and NOT a technical image problem; no field is asserted, so match\_type is null and the check is sent to review.

  ```json 200 OK — INCONCLUSIVE theme={null}
  {
    "request_id": "req_01H…",
    "status": "In Review",
    "issuing_state": "ARG",
    "match_type": null,
    "validations": [
      {
        "outcome_code": "INCONCLUSIVE",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {},
        "validation": {}
      }
    ]
  }
  ```

  **`DOCUMENT_NOT_FOUND`** — The submitted document number does not correspond to any record in the registry.

  ```json 200 OK — DOCUMENT_NOT_FOUND theme={null}
  {
    "request_id": "req_01H…",
    "status": "Declined",
    "issuing_state": "ARG",
    "match_type": "no_match",
    "validations": [
      {
        "outcome_code": "DOCUMENT_NOT_FOUND",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "identification_number": "NO_MATCH"
        },
        "validation": {
          "identification_number": "no_match"
        }
      }
    ]
  }
  ```

  **`MINOR_BLOCKED`** — The person is a minor; the registry blocks the lookup for data-protection reasons.

  ```json 200 OK — MINOR_BLOCKED theme={null}
  {
    "request_id": "req_01H…",
    "status": "Declined",
    "issuing_state": "ARG",
    "match_type": "no_match",
    "validations": [
      {
        "outcome_code": "MINOR_BLOCKED",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "identification_number": "NO_MATCH"
        },
        "validation": {
          "identification_number": "no_match"
        }
      }
    ]
  }
  ```

  **`DECEASED`** — The identity matched, but the registry flags the person as deceased.

  ```json 200 OK — DECEASED theme={null}
  {
    "request_id": "req_01H…",
    "status": "In Review",
    "issuing_state": "ARG",
    "match_type": "full_match",
    "validations": [
      {
        "outcome_code": "DECEASED",
        "service_id": "arg_renaper_data",
        "service_name": "Argentina - DNI data verification (RENAPER, no selfie)",
        "source_data": {
          "date_of_birth": "1990-01-01",
          "first_name": "John",
          "identification_number": "SAMPLE-ID-12345",
          "last_name": "Doe"
        },
        "validation": {
          "identification_number": "full_match"
        }
      }
    ]
  }
  ```
</ResponseExample>

## Returned data

The exact fields surfaced in `source_data` depend on what the registry returns. The generated example for `arg_renaper_data` currently documents this normalized shape:

* `date_of_birth`
* `first_name`
* `identification_number`
* `last_name`

## Pricing & SLAs

Argentina - DNI data verification (RENAPER, no selfie) queries are billed only when Didit receives a conclusive result from the validation source.

* **Per-call price:** \$0.20 USD.
* **Billing:** per successful query. You are not charged when the registry is unreachable, when required fields are missing, or when the request is rejected before reaching the source.
* **Latency:** typical p95 \< 2 s.
* **Availability:** 99.9% per quarter on Didit's side; downstream source availability varies by country and dataset.

## Continue reading

* [Argentina Database Validation overview](/api-reference/database-validation/argentina)
* [Database Validation overview](/core-technology/database-validation/overview)
* [Outcome Codes](/core-technology/database-validation/database-validation-outcome-codes)
