{"openapi":"3.2.0","info":{"title":"Indonesian NIK Parser API","description":"Parse and validate Indonesian NIK (Nomor Induk Kependudukan, the 16-digit national ID number): province, city, district, birth date, gender and unique code - offline structural parsing, no lookup of personal data.","version":"1.0.0"},"servers":[{"url":"https://ankyh.jojapi.net"}],"security":[{"ApiKeyAuth":[]}],"x-agent-commerce":{"catalog_url":"https://ankyh.jojapi.net/_jojapi/agent/plans","discovery_url":"https://ankyh.jojapi.net/.well-known/x402","directory_url":"https://agents.jojapi.net/apis/indonesian-nik-parser","docs":"https://docs.jojapi.com/consumers/agents"},"paths":{"/parser/identity/ping":{"get":{"operationId":"get_parser_identity_ping","summary":"Ping","description":"Confirm the Identity module is reachable. Free, no database access - safe for health checks.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"errCode":{"type":"integer","example":"0"},"errMessage":{"type":"string","example":""},"data":{"type":"object"}},"type":"object"},"examples":{"success":{"value":{"errCode":"0","errMessage":"","data":[]}}}}}},"403":{"description":"Rejected by the gateway secret check - the request did not come through the marketplace.","content":{"application/json":{"examples":{"denied":{"value":{"errCode":403,"errMessage":"Marketplace access denied.","data":null}}}}}}}}},"/parser/identity/parse-indonesian-nik":{"post":{"operationId":"post_parser_identity_parse_indonesian_nik","summary":"Parse Indonesian NIK","description":"Parse a 16-digit Indonesian NIK into province, city, district (codes and names), birth date, gender and unique code. Structural parsing only - no personal data lookup.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"errCode":{"type":"integer","example":"0"},"errMessage":{"type":"string","example":""},"data":{"properties":{"nik":{"type":"string"},"provinceCode":{"type":"string"},"cityCode":{"type":"string"},"districtCode":{"type":"string"},"provinceName":{"type":"string","nullable":true},"cityName":{"type":"string","nullable":true},"districtName":{"type":"string","nullable":true},"birthDate":{"type":"string","example":"1999-01-25"},"gender":{"type":"string","enum":["male","female"]},"uniqueCode":{"type":"string"}},"type":"object"}},"type":"object"},"examples":{"success":{"value":{"errCode":"0","errMessage":"","data":{"nik":"","provinceCode":"","cityCode":"","districtCode":"","provinceName":"","cityName":"","districtName":"","birthDate":"1999-01-25","gender":"","uniqueCode":""}}}}}}},"403":{"description":"Rejected by the gateway secret check - the request did not come through the marketplace.","content":{"application/json":{"examples":{"denied":{"value":{"errCode":403,"errMessage":"Marketplace access denied.","data":null}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"properties":{"nik":{"type":"string","example":"1109072501990001"}},"type":"object"},"example":{"nik":"1109072501990001"}}}}}},"/parser/identity/validate-indonesian-nik":{"post":{"operationId":"post_parser_identity_validate_indonesian_nik","summary":"Validate Indonesian NIK","description":"Check whether a string is a structurally valid Indonesian NIK (length, digits, region code, birth-date segment).","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"errCode":{"type":"integer","example":"0"},"errMessage":{"type":"string","example":""},"data":{"properties":{"valid":{"type":"boolean"}},"type":"object"}},"type":"object"},"examples":{"success":{"value":{"errCode":"0","errMessage":"","data":{"valid":true}}}}}}},"403":{"description":"Rejected by the gateway secret check - the request did not come through the marketplace.","content":{"application/json":{"examples":{"denied":{"value":{"errCode":403,"errMessage":"Marketplace access denied.","data":null}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"properties":{"nik":{"type":"string","example":"1109072501990001"}},"type":"object"},"example":{"nik":"1109072501990001"}}}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-JoJAPI-Key","description":"Your JoJ API key."}}}}