{"openapi":"3.0.3","info":{"title":"European Corporate Tax, LEI, EORI & National ID Validator API","version":"1.0.0","description":"Validates and normalizes ISO 17442 LEI codes (Mod 97-10), EU/UK EORI numbers, French SIREN/SIRET (Luhn), German Steuer-ID (ISO 7064 Mod 11,10), Italian Codice Fiscale, Spanish NIF/NIE/CIF, Polish NIP/PESEL, Dutch BSN/RSIN (Elfproef), UK Companies House CRN, and US EIN."},"servers":[{"url":"https://api.tinplate.dev","description":"Production Edge Gateway"}],"components":{"schemas":{"EuIdValidatorResponseData":{"type":"object","properties":{"input":{"type":"string"},"normalized":{"type":"string"},"formatted":{"type":"string"},"detected_type":{"type":"string","enum":["LEI","EORI","FR_SIREN","FR_SIRET","DE_STEUER_ID","IT_CODICE_FISCALE","ES_NIF","PL_NIP","PL_PESEL","NL_BSN","GB_CRN","US_EIN","UNKNOWN"]},"valid":{"type":"boolean"},"checksum_valid":{"type":"boolean"},"country_code":{"type":"string","nullable":true},"entity_scope":{"type":"string","enum":["corporate","individual","corporate_or_individual","unknown"]},"metadata":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"nullable":true}]}},"errors":{"type":"array","items":{"type":"string"}}},"required":["input","normalized","formatted","detected_type","valid","checksum_valid","country_code","entity_scope","metadata","errors"]},"EuIdValidatorRequest":{"type":"object","properties":{"value":{"type":"string","minLength":2,"maxLength":64,"description":"Raw corporate or tax identifier string (LEI, EORI, FR SIREN/SIRET, DE Steuer-ID, IT Codice Fiscale, ES NIF/NIE/CIF, PL NIP/PESEL, NL BSN/RSIN, GB CRN, or US EIN).","example":"5493001KJTIIGC8Y1R12"},"type":{"type":"string","enum":["AUTO","LEI","EORI","FR_SIREN","FR_SIRET","DE_STEUER_ID","IT_CODICE_FISCALE","ES_NIF","PL_NIP","PL_PESEL","NL_BSN","GB_CRN","US_EIN"],"default":"AUTO","description":"Identifier type to validate, or 'AUTO' to classify automatically from structure and country hint."},"country_hint":{"type":"string","minLength":2,"maxLength":2,"description":"Optional 2-letter ISO country code ('FR', 'DE', 'IT', 'ES', 'PL', 'NL', 'GB', 'US', 'EU') to disambiguate numeric lengths in AUTO mode.","example":"DE"}},"required":["value"]},"ResponseMeta":{"type":"object","required":["request_id"],"properties":{"request_id":{"type":"string","format":"uuid"},"ms":{"type":"integer","minimum":0},"version":{"type":"string","example":"1.0.0"}}},"ErrorEnvelope":{"type":"object","required":["ok","error","meta"],"properties":{"ok":{"type":"boolean","enum":[false]},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_input"},"message":{"type":"string","example":"Request body failed validation"}}},"meta":{"$ref":"#/components/schemas/ResponseMeta"}}}},"parameters":{}},"paths":{"/v1/eu-id-validator":{"post":{"tags":["33_EU_ID_VALIDATOR"],"summary":"Validate and normalize LEI, EORI, and European/UK/US corporate & tax identifiers","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EuIdValidatorRequest"}}}},"responses":{"200":{"description":"Identifier classification, mathematical checksum verification, formatted string, and registry metadata","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/EuIdValidatorResponseData"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"required":["ok","data","meta"]}}}},"400":{"description":"Invalid input or malformed JSON request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid authentication credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"413":{"description":"Request payload exceeds subscribed plan byte cap","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}}}