Skip to content
Drivers/Capability matrix

Capability matrix

Not every backend can express every query. Each request strategy declares what it supports, and the builder throws rather than emitting a URI the server would silently ignore.

This table is read from the shipped capabilities flags, so it is always what the code does.

Driver Filters Operators Sort Select Fields Includes Search Embedded
API Platform ✅ ✅ ✅ — — — — —
Directus ✅ ✅ ✅ ✅ — ✅ ✅ ✅
Django REST Framework ✅ ✅ ✅ — — — ✅ —
FastAPI ✅ ✅ ✅ — — — ✅ —
FeathersJS ✅ ✅ ✅ ✅ — — — —
JSON:API ✅ — ✅ — ✅ ✅ — —
json-server ✅ ✅ ✅ — — — ✅ —
Laravel — — — — — — — —
nestjs-paginate ✅ ✅ ✅ ✅ — — ✅ —
@nestjsx/crud ✅ ✅ ✅ ✅ — ✅ — —
OData v4 ✅ ✅ ✅ ✅ — ✅ ✅ ✅
Payload CMS ✅ ✅ ✅ ✅ — — — —
PocketBase ✅ ✅ ✅ ✅ — ✅ — —
PostgREST ✅ ✅ ✅ ✅ — — — ✅
Ransack (Rails) ✅ ✅ ✅ — — — — —
Sieve ✅ ✅ ✅ — — — — —
spatie/laravel-query-builder ✅ — ✅ — ✅ ✅ — —
Spring Data REST — — ✅ — — — — —
Strapi ✅ ✅ ✅ ✅ — ✅ — —
WordPress REST API ✅ — ✅ ✅ — ✅ ✅ —
Supported by 18/20 15/20 19/20 10/20 2/20 8/20 7/20 3/20
Capability Method Meaning
Filters addFilter() capabilities.filters
Operators addFilterOperator() capabilities.operatorFilters
Sort addSort() capabilities.sort
Select addSelect() capabilities.select
Fields addFields() capabilities.fields
Includes addIncludes() capabilities.includes
Search setSearch() capabilities.search
Embedded addEmbedded() capabilities.embedded