ID Number Validation

Check national ID formats and available checksums for seven supported countries. Returns validation details without confirming identity.

Pay by wallet (x402) id-number-validate

Example

Example answer
{
  "error": "Country 'INVALID_TEST_VALUE_12345' not supported. Supported: SE, FI, NO, DK, GB, UK, US, DE",
  "valid": false,
  "id_type": "unknown",
  "normalized": "INVALID_TEST_VALUE_12345",
  "country_code": "INVALID_TEST_VALUE_12345",
  "checksum_valid": null,
  "extracted_info": null,
  "format_correct": false
}

Inputs

FieldTypeRequiredWhat it is
id_numberstringYesNational identification number
country_codestringYesISO 2-letter country code (SE, FI, NO, DK, GB, US, DE)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
validbooleanAlways (present in every successful answer)
id_typestringAlways (present in every successful answer)
normalizedstringAlways (present in every successful answer)
country_codestringAlways (present in every successful answer)
checksum_validbooleanAlways (present in every successful answer)
extracted_infoobjectUsually (present for most inputs)
format_correctbooleanAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "id-number-validate",
    "inputs": {
      "id_number": "811228-9874",
      "country_code": "SE"
    },
    "max_price_cents": 2
  }'

Limitations

  • Format validation only

    Validates format and checksum — does not verify the number is assigned to a real person

  • Country coverage

    Supports SE, FI, NO, DK, GB, US, DE — other countries return unsupported error