HTTP 404Client-side — change the request

Not found

not_found

No resource with that identifier exists FOR THIS ACCOUNT. Reads are scoped to the calling account, so “belongs to somebody else” and “does not exist” are answered identically on purpose — a 404 here is never a hint that some other account holds the id.

Why it happens

A mistyped or truncated id, an id that belongs to a different account (a staging key against a production id is the classic), or a resource that has been deleted.

How to fix it

Confirm the id came from a response this same credential received. When polling a generation, use the id POST /v1/speech returned, verbatim — ids are opaque strings and are never constructed by the caller.

Safe to retry?

No. If you created the resource moments ago, check which account the key you are polling with actually belongs to.

What it looks like on the wire

{
  "type": "https://voicelabs.now/errors/not_found",
  "title": "Not found",
  "status": 404,
  "detail": "A human-readable explanation of this particular occurrence.",
  "instance": "/v1/speech",
  "code": "not_found"
}

Branch on code, never on status or on the prose in detail: two different problems can share a status, and detail is written for humans and may be reworded. Problems a settings page can resolve also carry settings_url, and a scope failure carries required_scope.

Every VoiceLabs API error is an RFC 9457 problem document with a stable code.

See every error code