{"id":"imei-validate","version":"1.0.0","description":"Validate a 15-digit IMEI's Luhn check digit or accept a 16-digit IMEISV, and split the TAC from the serial.","supported_operations":["validate an imei number","check a phone's imei check digit","is this imeisv valid","split imei into tac and serial number","verify a device identifier luhn check digit","imei vs imeisv difference check"],"unsupported_operations":["a live GSMA TAC / device-model lookup","validating an MEID or ESN (different, non-3GPP schemes)","accepting spaces, hyphens or a \"IMEI:\" label (imei is taken exactly as given)"],"semantics":["imei is taken exactly as given: no stripping of spaces/hyphens, no case folding. A length other than 15 or 16 returns reason wrong_length; a right-length non-digit value returns reason invalid_character; both leave format/tac/serial/check_digit null.","tac = imei[0:8], serial = imei[8:14], populated once length and charset pass, regardless of validity.","Length 15 (format imei): check_digit = imei[14]; the Luhn check digit of the 14-digit payload imei[0:14] is compared to it, giving valid/reason check_digit_mismatch.","Length 16 (format imeisv): the last 2 digits are a software version, never exposed and never Luhn-checked; check_digit is always null and valid is always true (reason null) once length and charset pass."],"limits":{"max_imei_bytes":24},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["imei"],"properties":{"imei":{"type":"string","minLength":1,"maxLength":24}}},"output_schema":{"type":"object","additionalProperties":false,"required":["valid","reason","format","tac","serial","check_digit"],"properties":{"valid":{"type":"boolean"},"reason":{"type":["string","null"],"enum":[null,"wrong_length","invalid_character","check_digit_mismatch"]},"format":{"type":["string","null"],"enum":[null,"imei","imeisv"]},"tac":{"type":["string","null"],"pattern":"^[0-9]{8}$"},"serial":{"type":["string","null"],"pattern":"^[0-9]{6}$"},"check_digit":{"type":["string","null"],"pattern":"^[0-9]$"}}},"examples":[{"input":{"imei":"490154203237518"},"output":{"valid":true,"reason":null,"format":"imei","tac":"49015420","serial":"323751","check_digit":"8"}},{"input":{"imei":"4901542032375101"},"output":{"valid":true,"reason":null,"format":"imeisv","tac":"49015420","serial":"323751","check_digit":null}},{"input":{"imei":"49015420323751"},"output":{"valid":false,"reason":"wrong_length","format":null,"tac":null,"serial":null,"check_digit":null}}],"execute_url":"/v1/tools/imei-validate/versions/1.0.0/execute"}