Skip to main content
HTTP status: 422 Unprocessable Entity A parameter that identifies something — entity_id, company_id, podcast_id, or episode_id — was supplied, but the value does not match any record. The response names the parameter and the value that failed. person_id is not in that list. It is a real filter on the episode endpoints, but an unresolvable one returns an empty page rather than this error, so do not build a handler for unresolved_reference on it. The request is rejected rather than answered, because an empty result set would be indistinguishable from “we have no content about this”, and would send you looking for the wrong problem.

Example

How to fix

  1. Call the matching search endpoint with the name as free text — /v1/companies?q=… for companies, /v1/entities/search?q=… for entities and people, /v1/podcasts/search?q=… for shows. Episode slugs are not searched by name: list a podcast’s episodes with /v1/podcasts/episodes?podcast_id=….
  2. Take the slug from the top result.
  3. Re-issue the original request with that slug.
The resolve.endpoint field on the error already carries the correct call for the parameter that failed, so an automated caller can follow it directly rather than choosing from this list. Slugs returned by any endpoint are stable and accepted everywhere the corresponding identifier is, so resolve once and reuse the slug across calls.
Passing a name where a slug is expected is the most common cause. company_id accepts a slug, a domain, or an internal ID — but not a display name.