{"uid":"cap_darBYhkEAE3AV-Po5QU51","slug":"toll402-danish-cpr-number-validator-c98e048a","name":"Toll402 Danish CPR Number Validator","description":"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.","url":"https://toll402.dev/v1/t/cpr_dk_validate","method":"POST","headers":{},"bodySchema":{"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"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_QpSDSPGDEv4Qx9RunC6fc","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"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.","exampleAgentPrompt":"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?","exampleUseCases":[{"title":"Onboarding form CPR verification","prompt":"We're onboarding a Danish user and they entered '291189-0123' as their CPR number — can you check if that's valid and extract their birth date and gender?"},{"title":"KYC data quality check","prompt":"I have a list of CPR numbers from a Danish customer database and want to start with this one: '010203-1234' — is it valid, and what century and birth date does it correspond to?"},{"title":"Gender derivation from CPR","prompt":"Given the Danish CPR number '150775-0002', tell me whether this person is male or female and what their date of birth is."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T19:02:46.195Z","isFirstParty":false}