Error condition

unknown-field

The path is well-formed but this endpoint does not expose it.

Type URI
https://openpredicate.tech/problems/unknown-field
HTTP status
400 Bad Request
Defined in
Specification §8

What it means

The filter names a path the grammar allows but the endpoint does not make queryable — a field that does not exist on the resource, or one deliberately withheld. Path syntax is the grammar's business; which paths are queryable is the endpoint's.

What a client does about it

Fetch the endpoint's capability document to learn the queryable paths, or generate a per-resource filter schema so that unqueryable fields are rejected at validation time rather than at runtime.

What a server should send

Carry a queryableFields member listing the paths it does expose. Without it, a client that guessed one name wrong can only guess again.

application/problem+json
{
  "type": "https://openpredicate.tech/problems/unknown-field",
  "title": "Unknown field",
  "status": 400,
  "detail": "'birthDate' is not a queryable path on this collection.",
  "pointer": "/filter/$and/0/birthDate",
  "queryableFields": [
    "id",
    "name",
    "species",
    "status",
    "born",
    "tags"
  ]
}

The wire format is the API's own. The specification mandates the condition, not this envelope: an API with an established error format should express the condition in it rather than carry a second format for one endpoint. The member names above are the recommended ones.

The other conditions