# verza.dev SA ID Number Validator

> verza.dev SA ID Number Validator is a paid API for AI agents from verza.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Validates a South African identity number by checking its check digit, birth date, gender, and citizenship segments without storing or logging the input.

## Facts

- Endpoint: GET https://verza.dev/v1/id-validate
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/verza-dev-sa-id-number-validator-a1141c3d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_57SKwP7WS8pekEwP_VfTt

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 verza-dev-sa-id-number-validator-a1141c3d
```

Example prompt: 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?

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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).

## Output

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.

## 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"
   ],
   "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"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "valid": true,
  "gender": "male",
  "birth_date": "1980-01-01",
  "citizenship": "SA citizen"
 }
}
```

## More

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