Errors
not_found_resource
404 — the resource id in the request path does not resolve to a row visible to this token.
Last updated
Cause
Matter returns not_found_resource when the path-parameter id (ent_…, flg_…, doc_…, grt_…, and so on) does not match any row visible to the calling token. There are three common reasons: the id is genuinely wrong (typo, stale id, an id from a different account), the row exists but is in a different mode (test vs live), or the row exists but is outside the token's portfolio or scope.
Matter deliberately collapses "row doesn't exist" and "row exists but you can't see it" into a single response. Distinguishing them would leak the existence of resources in other portfolios or modes, which is a tenancy-isolation breach. Callers who need to disambiguate should check the more specific codes — not_found_in_mode and scope_resource_out_of_portfolio — first.
Fix
- Confirm the id was copied verbatim from a recent list or retrieve response. Typed Matter ids are stable across versions and should never be mutated.
- Confirm the host and
Matter-Modematch the id's mode. A test-mode id sent to the live host returns this error. - Confirm the token's portfolio scope. If the resource lives in a different portfolio, the token will not see it.
- If all of the above check out, the resource genuinely doesn't exist. Either the action that should have created it failed silently, or the id has been confused with another resource.
Related codes
not_found_in_mode— the id resolves but in a different mode than the request.not_found_portfolio— the portfolio id on the token doesn't resolve.scope_resource_out_of_portfolio— the id resolves but outside the token's portfolio.auth_token_mode_mismatch— token mode and host disagree.