{"uid":"cap_57SKwP7WS8pekEwP_VfTt","slug":"verza-dev-sa-id-number-validator-a1141c3d","name":"verza.dev SA ID Number Validator","description":"South African SA ID number validation: Structural validation of a South African identity number with safe decode: Luhn check digit, birth date, gender and citizenship segments (citizen or permanent resident). The structural step in KYC, KYB and customer onboarding or due diligence workflows: derive date of birth, age, gender and citizenship without storing the identity. Stateless, never stored or logged (POPIA-conscious by construction).","url":"https://verza.dev/v1/id-validate","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"valid":true,"gender":"male","birth_date":"1980-01-01","citizenship":"SA citizen"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6jQjyJ4ISKiSUNl8WOsH2","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a South African identity number by checking its check digit, birth date, gender, and citizenship segments without storing or logging the input.","exampleAgentPrompt":"Can you validate this South African ID number for me — 8001015009087 — and tell me whether it's structurally valid, what birth date and gender it encodes, and whether the check digit passes?","exampleUseCases":[{"title":"Onboarding KYC identity check","prompt":"I have a new customer who provided their South African ID number as 9202204720082 — can you run it through validation and tell me if it's legitimate, what birthdate and gender it encodes, and whether the check digit passes before I approve their account?"},{"title":"Bulk ID data quality audit","prompt":"We've got a list of South African ID numbers submitted by applicants and I need to know which ones are structurally valid, which have failing check digits, and what birth dates and citizenship classifications they decode to — can you work through them one by one?"},{"title":"Extract gender from SA ID","prompt":"Someone filled in their South African ID number as 7710250152089 but left the gender field blank on the form — can you validate the ID and tell me what gender it encodes, along with the birth date and whether the check digit is correct?"}],"resultDescription":"Returns a structural validation result for the South African ID number, including whether the check digit is valid, the decoded birth date, gender segment, and citizenship classification derived from the 13-digit number.","failureModes":["Missing or empty 'id' query parameter returns an error","Non-numeric or wrong-length string (not 13 digits) fails validation","Invalid check digit causes validation to fail","Malformed birth date segment (e.g. month > 12) causes rejection","Network timeout or server error returns a non-200 HTTP response"],"whenToPreferThis":"Use this endpoint when you need fast, stateless, privacy-safe structural validation of South African ID numbers — particularly when you cannot risk storing sensitive ID data and need decoded segments (birth date, gender, citizenship) alongside the check digit result. Prefer this over general regex checks because it performs full Luhn-style check digit verification and semantic segment decoding.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:32:58.988Z","isFirstParty":false}