{"openapi":"3.1.0","info":{"title":"Financial ID Validator API","version":"1.0.0","description":"Validate the bank and provider identifiers that move money and records — all checked locally, with no lookups. The bic endpoint validates and parses a SWIFT/BIC code (ISO 9362): it confirms the 8- or 11-character format, splits out the bank, country, location and branch codes, checks the country against ISO 3166, and flags test and passive-participant codes. The aba endpoint validates a US ABA routing number by its checksum (the 3-7-1 weighting) and names the Federal Reserve district from the prefix. The npi endpoint validates a US National Provider Identifier by its Luhn check digit over the 80840 prefix and reports whether it is an individual or organization NPI. Everything is computed locally and deterministically, so it is instant and private — it checks the structure and check digits, not whether the institution actually exists. Ideal for payments and banking, fintech onboarding and KYC forms, healthcare billing and clearinghouses, and form and data validation. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This validates BIC, ABA and NPI; for IBAN use an IBAN API and for payment-card numbers use a credit-card API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/financialid-api","description":"oanor gateway"}],"tags":[{"name":"Identifiers"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/aba":{"get":{"operationId":"get_v1_aba","tags":["Identifiers"],"summary":"Validate a US ABA routing number","description":"","parameters":[{"name":"routing","in":"query","required":true,"description":"A 9-digit ABA number","schema":{"type":"string"},"example":"021000021"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"valid":true,"routing":"021000021","checksum_ok":true,"federal_reserve":"Federal Reserve Bank #2"},"meta":{"timestamp":"2026-06-03T17:42:09.088Z","request_id":"e6a3aaa9-8872-4bb1-8812-6a35c9a0b50d"},"status":"ok","message":"ABA","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/bic":{"get":{"operationId":"get_v1_bic","tags":["Identifiers"],"summary":"Validate & parse a SWIFT/BIC","description":"","parameters":[{"name":"bic","in":"query","required":true,"description":"A SWIFT/BIC code","schema":{"type":"string"},"example":"DEUTDEFF"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"bic":"DEUTDEFF","type":"primary office (BIC8)","valid":true,"length":8,"passive":false,"test_bic":false,"bank_code":"DEUT","connected":true,"country_code":"DE","location_code":"FF"},"meta":{"timestamp":"2026-06-03T17:42:09.191Z","request_id":"3d26226c-a433-4274-9dad-9761145bbc14"},"status":"ok","message":"BIC","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/npi":{"get":{"operationId":"get_v1_npi","tags":["Identifiers"],"summary":"Validate a US NPI","description":"","parameters":[{"name":"npi","in":"query","required":true,"description":"A 10-digit NPI","schema":{"type":"string"},"example":"1234567893"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"npi":"1234567893","type":"individual provider (Type 1)","valid":true},"meta":{"timestamp":"2026-06-03T17:42:09.304Z","request_id":"c7967b0d-a0e4-4aab-8b3a-e25cc5e79cec"},"status":"ok","message":"NPI","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"Financial ID Validator API","notes":"Structural and check-digit validation only — not a registry lookup. BIC per ISO 9362; ABA 3-7-1 checksum; NPI Luhn over the 80840 prefix. Nothing is stored.","version":"v1","endpoints":[{"path":"/v1/bic","params":{"bic":"a SWIFT/BIC code, e.g. DEUTDEFF"},"returns":"validity and the parsed bank/country/location/branch"},{"path":"/v1/aba","params":{"routing":"a 9-digit US ABA routing number"},"returns":"checksum validity and Federal Reserve district"},{"path":"/v1/npi","params":{"npi":"a 10-digit US National Provider Identifier"},"returns":"Luhn validity and provider type"},{"path":"/v1/meta","params":[],"returns":"this document"}],"description":"Validate the bank and provider identifiers that move money and records — all checked locally, no lookups. The bic endpoint validates and parses a SWIFT/BIC code (ISO 9362): it confirms the 8- or 11-character format, splits out the bank, country, location and branch codes, checks the country against ISO 3166, and flags test and passive-participant codes. The aba endpoint validates a US ABA routing number by its checksum (the 3-7-1 weighting) and names the Federal Reserve district from the prefix. The npi endpoint validates a US National Provider Identifier by its Luhn check digit over the 80840 prefix and reports whether it is an individual or organization NPI. Everything is computed locally and deterministically, so it is instant and private — it checks the structure and check digits, not whether the institution exists. Ideal for payments and banking, fintech onboarding and KYC forms, healthcare billing, and data validation. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This validates BIC, ABA and NPI; for IBAN use an IBAN API and for payment-card numbers use a credit-card API."},"meta":{"timestamp":"2026-06-03T17:42:09.402Z","request_id":"b8bd4f10-148a-4c8e-8766-bf136b506869"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":7335,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":885,"monthly_call_quota":16850,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2875,"monthly_call_quota":219500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6675,"monthly_call_quota":1140000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/financialid-api"}