Query Contract
Resource list endpoints are strict by design.
Supported query parameters
fields: comma-separated projectionsort: field or-fieldpage: positive integerper_page: positive integer, capped bymaxPerPage- declared filters only (from
filters([...]))
Strict behavior
- Unknown param ->
400 validation_failed - Unknown field in
fields->400 validation_failed - Unsupported sort field ->
400 validation_failed - Offset greater than
maxOffset->400 validation_failed
Typed filter schema
filterSchema() supports:
stringintfloatbooldate(normalized to ISO-8601)enumwithvalues
Error example
{
"error": {
"code": "validation_failed",
"message": "Invalid request.",
"requestId": "req_123",
"details": {
"fieldErrors": {
"foo": ["unknown parameter"]
}
}
}
}
Validation checklist
- negative/zero
pageandper_pagerejected per_pageabove cap rejected- typed filter coercion works as expected