The identifier looks right but is not the one the data source actually keys on. Three causes, and the first has become the most common:
1. A model-hallucinated code. When an AI assistant writes the call, it will often invent a plausible-looking identifier (a scheme code like 99999, a ticker) that simply does not exist. The fix is a discipline: never let a model fill in an identifier from memory. Resolve the name to a code dynamically first - call the API's search endpoint with the fund or company name, take the ID it returns, and pass that. A well-built API helps here by returning a structured 404 with a hint - a machine-readable body carrying a plain-English message plus a docs URL and a hint pointing you at the search endpoint - so the agent can self-correct on the spot instead of guessing again.
2. A real code, wrong variant. An identifier can be genuine yet not the variant the official source publishes. A fund has separate ISINs for Direct vs Regular plans and Growth vs income-distribution options; the ISIN on a broker statement may be a variant the official NAV database does not track, so a valid-looking ISIN returns not-found. Resolve by name via search to get the supported code.
2b. The ISIN is not actually a valid ISIN - check the last character. An ISIN carries a check digit: the final character is derived arithmetically from the eleven before it. Change any one character and the code stops being a valid ISIN while still looking exactly like one. On TigZig's MF NAV API you do not even need your own validator: a corrupted ISIN comes back with a 404 that says it fails the check-digit test and that retrying will not help, so the problem is wherever you got the identifier (any ISIN validator confirms it in a second). Worth knowing why this happens so often: the same few invalid ISINs show up from unrelated callers on different networks in the same week, so they are circulating inside shared lists and AI-generated output rather than being mistyped one at a time. A real fund and a code that has never existed can differ by a single character.
3. A symbol missing its market suffix. Symbol-based APIs (Yahoo Finance style) need exact market suffixes: RELIANCE.NS for the NSE listing, GC=F for the gold futures contract, ^NSEI for the index. Bare RELIANCE, GOLD or NIFTY return nothing. Look the exact symbol up rather than guessing it.
The through-line: resolve identifiers, do not assume them. This is distinct from an honest empty 200 (the id is fine, there is just no data). Worked examples: https://www.tigzig.com/post/tigzig-api-errors-practical-guide-jul2026.
← All Agents FAQ