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.
{
"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
malformed-query— The body does not conform to the grammar.unsupported-operator— The operator is part of the language but not of this endpoint's profiles.invalid-operand— The operator is supported but the operand is not usable.query-too-complex— A safety limit was exceeded.