{"name":"verza","description":"South African verification and KYB primitives for AI agents: identity number validation with safe decode, VAT number validation, NCA credit-agreement lawfulness verdicts against the Regulation 42 interest caps, and bulk validation of up to 50 identifiers in one settled call. CIPC company lookup in development. Every check states what it does and does not confirm, and invalid input is rejected free with a 400 before any payment. Paid per call via the x402 protocol (USDC on Base). No accounts, no API keys.","base_url":"https://verza.dev","endpoints":[{"slug":"vat-validate","title":"VAT number validation","description":"Structural validation of a South African VAT registration number (VAT vendor number): 10 digits, leading 4, check digit. Use it to screen a supplier or customer VAT number before invoicing or claiming input VAT. Free. Confirms format only, not active SARS registration.","method":"GET","url":"https://verza.dev/v1/vat-validate","example":"https://verza.dev/v1/vat-validate?vat=4012345676","params":{"vat":"string, required: the VAT number to validate"},"price":"free"},{"slug":"id-validate","title":"SA ID number validation","description":"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). Confirms structure only, not registration with Home Affairs. Also callable as /v1/id-validate/{id}.","method":"GET","url":"https://verza.dev/v1/id-validate","example":"https://verza.dev/v1/id-validate?id=8001015009087","alias":"https://verza.dev/v1/id-validate/{id}","params":{"id":"string, required: the 13-digit SA identity number"},"price":"$0.01"},{"slug":"loan-check","title":"NCA loan agreement verification (Reg 42 Verify)","description":"Independent lawfulness check of a South African credit agreement's interest rate against the National Credit Act (NCA) Regulation 42 maximum rate caps, the statutory interest rate cap that replaced the old usury limits: the maximum rate is fixed at the repo rate on the date the agreement was concluded. Covers every Reg 42 credit type including mortgage agreements, credit facilities, unsecured credit, short-term credit and developmental credit. Verdict, exact cap, excess and full workings, from daily-audited SARB and gazette data, for credit providers, compliance teams and the interest-rate limb of a reckless-lending or affordability review. Covers every agreement under the current Regulation 42 table (concluded 2016-05-06 or later). Also callable as /v1/loan-check/{credit_type}/{annual_rate_percent}/{date_concluded}.","method":"GET","url":"https://verza.dev/v1/loan-check","example":"https://verza.dev/v1/loan-check?credit_type=unsecured&annual_rate_percent=28.5&date_concluded=2024-03-15","alias":"https://verza.dev/v1/loan-check/{credit_type}/{annual_rate_percent}/{date_concluded}","params":{"credit_type":"string, required: unsecured | mortgage | credit_facility | developmental | other | short_term | incidental","annual_rate_percent":"number, required for repo-linked types (unsecured, mortgage, credit_facility, developmental, other): the annual interest rate charged","date_concluded":"date YYYY-MM-DD, required for repo-linked types: the date the agreement was entered into","monthly_rate_percent":"number, for monthly-capped types (short_term, incidental): the monthly interest rate charged","subsequent_loan":"true or false, short_term only: a subsequent loan in the same calendar year (3% per month cap instead of 5%)","monthly_service_fee_zar":"number, optional: the monthly service fee charged, checked against the cap"},"price":"$0.25"},{"slug":"bulk-validate","title":"Bulk identifier validation","description":"Validate up to 50 South African identifiers in one settled call: ID numbers, VAT numbers, or a mix. Batch screening of a customer or supplier list for structurally invalid South African identifiers, for onboarding, KYC and KYB compliance clean-ups. Same checks and same honest scope as the single endpoints, with a summary of how many passed. Cheaper than five individual ID checks and a single round trip instead of fifty.","method":"POST","url":"https://verza.dev/v1/bulk-validate","example":"https://verza.dev/v1/bulk-validate","example_body":{"ids":["8001015009087","0501015009084"],"vats":["4012345676"]},"params":{"ids":"array of 13-digit SA ID numbers, optional: up to 50 combined with vats","vats":"array of SA VAT numbers, optional: up to 50 combined with ids"},"price":"$0.05"}],"roadmap":[{"endpoint":"/v1/company-check","status":"in development","description":"Full CIPC registry lookup: registration status, registration number, enterprise type. Pending licensed bureau data access."},{"endpoint":"/v1/tender-awards","status":"planned","description":"Government tender award history by supplier. Held back until a source that actually publishes award records is verified; the live eTenders OCDS feed currently carries none."}],"privacy":"Stateless: identity inputs are validated in memory and never stored. Access logs record path and status only, never query parameters.","disclaimer":"Independent verification service over public data and standard checksum algorithms. Structural validation does not confirm registration with SARS, Home Affairs or any authority. No identity data is stored; identity query parameters are never logged."}