{"id":"iccid-validate","version":"1.0.0","description":"Validate a 19/20-digit ICCID's Luhn check digit, require the 89 major industry id, split issuer/account digits.","supported_operations":["validate a sim card iccid","check an iccid luhn check digit","is this iccid number valid","split an iccid into issuer and account digits","verify a sim serial number checksum","iccid major industry identifier check"],"unsupported_operations":["a live carrier HLR/HSS or country/operator lookup","validating an eSIM eUICC EID (a different, longer identifier)","accepting spaces, hyphens or an \"ICCID:\" label (iccid is taken exactly as given)"],"semantics":["iccid is taken exactly as given: no trimming, no case folding. A length other than 19 or 20 returns reason wrong_length; a right-length non-digit value returns reason invalid_character; both leave major_industry/issuer_digits/account_digits/luhn_valid null.","major_industry = iccid[0:2], issuer_digits = iccid[2:7], account_digits = iccid[7:length-1] (11 or 12 digits), and luhn_valid (standard ISO/IEC 7812-1 Annex B modulus-10 check over the whole digit string) are populated once length and charset pass, regardless of validity.","If major_industry is not the constant '89' (ITU-T E.118), that takes priority: reason invalid_major_industry, regardless of luhn_valid. Otherwise a false luhn_valid gives reason check_digit_mismatch.","The issuer_digits/account_digits split is a fixed positional rule; no country or operator name is returned."],"limits":{"max_iccid_bytes":25},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["iccid"],"properties":{"iccid":{"type":"string","minLength":1,"maxLength":25}}},"output_schema":{"type":"object","additionalProperties":false,"required":["valid","reason","major_industry","issuer_digits","account_digits","luhn_valid"],"properties":{"valid":{"type":"boolean"},"reason":{"type":["string","null"],"enum":[null,"wrong_length","invalid_character","invalid_major_industry","check_digit_mismatch"]},"major_industry":{"type":["string","null"],"pattern":"^[0-9]{2}$"},"issuer_digits":{"type":["string","null"],"pattern":"^[0-9]{5}$"},"account_digits":{"type":["string","null"],"pattern":"^[0-9]{11,12}$"},"luhn_valid":{"type":["boolean","null"]}}},"examples":[{"input":{"iccid":"89148000000745809013"},"output":{"valid":true,"reason":null,"major_industry":"89","issuer_digits":"14800","account_digits":"000074580901","luhn_valid":true}},{"input":{"iccid":"8814800000074580901"},"output":{"valid":false,"reason":"invalid_major_industry","major_industry":"88","issuer_digits":"14800","account_digits":"00007458090","luhn_valid":true}},{"input":{"iccid":"891480000007458090"},"output":{"valid":false,"reason":"wrong_length","major_industry":null,"issuer_digits":null,"account_digits":null,"luhn_valid":null}}],"execute_url":"/v1/tools/iccid-validate/versions/1.0.0/execute"}