# Toll402 Danish CPR Number Validator

> Toll402 Danish CPR Number Validator is a paid API for AI agents from toll402.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Validates and parses a Danish CPR-nummer (personal ID number), checking digit count, date-of-birth validity, century derivation, and gender from the 7th digit — entirely offline.

## Facts

- Endpoint: POST https://toll402.dev/v1/t/cpr_dk_validate
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/toll402-danish-cpr-number-validator-c98e048a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_darBYhkEAE3AV-Po5QU51

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability toll402-danish-cpr-number-validator-c98e048a -d '<json body>'
```

Example prompt: Can you validate this Danish CPR number for me — 010190-0006 — and tell me if it's a valid format, what the birth date is, and whether the person is male or female?

## When to prefer this

Use this endpoint when you need fast, offline, server-side validation of Danish CPR numbers without needing a live government registry lookup. Ideal for form validation, KYC preprocessing, and data quality pipelines where modulus-11 is insufficient (post-2007 numbers). Prefer this over generic regex checks because it correctly handles century derivation from the 7th digit and date-of-birth plausibility.

## Known failure modes

- Invalid digit count or non-numeric characters returns a validation failure
- Impossible date-of-birth values (e.g. month 13) return invalid
- Malformed request body missing the 'cpr' field returns a 400-level error
- Numbers that pass format checks but are semantically invalid still return structured invalid status

## How this service works

Offline validator/normalizer for a Danish CPR-nummer (personal identification number, format DDMMYY-SSSS). Checks digit count and date-of-birth validity, determines century from the 7th digit per official rules, and derives birth date and gender (last digit odd=male, even=female). Does not rely on the modulus-11 checksum since it has not been guaranteed valid for numbers issued since 2007.

## Output

Returns whether the CPR number is valid, the parsed date of birth (with correct century determined by the 7th digit per Danish official rules), and the person's gender (odd last digit = male, even = female). Does not apply the modulus-11 checksum, which is not guaranteed valid for numbers issued after 2007.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "cpr"
     ],
     "properties": {
      "cpr": {
       "type": "string",
       "description": "Danish CPR number, e.g. 010190-0006 (dash optional)"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/toll402-danish-cpr-number-validator-c98e048a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from toll402.dev](https://www.zero.xyz/host/toll402.dev/llms.txt)
