Queries, APIs and SDKs · AutessaDB
Filters, sorting and pagination
AutessaDB queries filter rows with groups of conditions: conditions inside a group combine with AND or OR, and the groups combine with AND or OR too. Operators cover comparisons, text matching, lists, ranges and nulls, with multi-column sorting, 1-based page numbers, and cursor (keyset) pagination that stays fast on large tables.
-- the problem
Every client invents its own query language
When a web app, a script and an agent each talk to data differently, the same question returns three answers. AutessaDB has one condition format, the same in the builder, the REST API, the CLI, the SDK and agent tools, so a filter written once works everywhere.
What you get
- Operators: EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, CONTAINS, ICONTAINS, STARTS_WITH, ENDS_WITH, LIKE, ILIKE, IN, NOT_IN, BETWEEN, IS_NULL and IS_NOT_NULL.
- ICONTAINS is case-insensitive, made for a search box people type into.
- Sort by several columns in priority order; the default is last updated, newest first, then id.
- Cursor pagination: pass the previous nextCursor back as cursor with the same sort, and skip the total count unless you need it.
- Filters take plain values, while row writes use typed values, which keeps queries short.
- Masked columns allow equality operators only, and media columns allow only IS_NULL and IS_NOT_NULL.
- Filtering on a column the caller cannot see is refused with a clear message.
-- how it works
How does filters, sorting and pagination work in AutessaDB?
Build the conditions
Group conditions by how they should combine, for example status equals doing AND created after a date.
Sort
Add orderBy terms in priority order; only an explicit ASC ascends.
Page
Use page and pageSize for small tables, or cursors for large ones.
-- every option
Query options
| option | what it does |
|---|---|
| whereGroups | A list of groups, each with a logicalOperator and conditions (columnName, operator, value). |
| groupsLogicalOperator | How groups combine: AND or OR. |
| IN / NOT_IN / BETWEEN | Take an array; BETWEEN takes exactly [low, high]. |
| LIKE / ILIKE | Pass % and _ through unescaped, so never hand them raw user input. |
| orderBy | Sort terms; defaults to updated_at DESC then id DESC. |
| page / pageSize | 1-based offset paging. |
| cursor / includeTotal | Keyset paging from nextCursor; totals are off by default on cursor requests. |
-- example
Full reference in the AutessaDB CLI docs and the API reference.
-- permissions
Who can do what?
| access | can |
|---|---|
| READ | Run get-data, query, join-query, aggregate, get-single-row and search. |
-- faq
Questions about filters, sorting and pagination
How do I paginate through a large AutessaDB table?
Use cursor pagination. Pass the previous response's nextCursor as cursor with the same orderBy, and leave totals off unless you need them.
Which operator should a search box use?
ICONTAINS, which is a case-insensitive contains. Avoid LIKE and ILIKE for user input, because they pass % and _ through.
Are pages 0-based or 1-based?
1-based for table queries.
100% customizable, code and all
Make AutessaDB fully your own.
Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.
Start free and make it yours