> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# unresolved_reference

> A name or identifier in the request does not match anything.

**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

```json theme={"dark"}
{
  "type": "https://docs.particle.pro/errors/unresolved_reference",
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "company_id 'x' did not match any company.",
  "error_code": "unresolved_reference",
  "resolve": {
    "message": "Resolve the name to a slug first, then filter on the slug.",
    "action": "resolve_reference",
    "method": "GET",
    "endpoint": "/v1/companies?q=x"
  }
}
```

## 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.

<Note>
  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.
</Note>
