AppsAutessaDB

AutessaDB

Queries, APIs and SDKs

One query model everywhere: the same filters, sorts, aggregates and bulk writes work in the builder, the REST API, the CLI, scripts and agent tools.

query · whereGroupscursor modeSAMPLE
[{ "logicalOperator": "AND", "conditions": [
   { "columnName": "status",  "operator": "IN",
     "value": ["open", "waiting"] },
   { "columnName": "subject", "operator": "ICONTAINS",
     "value": "invoice" } ] }]
orderBy: [{ "columnName": "created_at", "direction": "ASC" }]
rowshasMore: trueSAMPLE
idsubjectstatus
2201Invoice missing POopen
2208Duplicate invoicewaiting
2219Invoice address changeopen
nextCursor eyJpZCI6MjIxOX0 · pass it back with the same orderBy

-- why it matters

What does queries, apis and sdks cover?

Query AutessaDB with grouped filters, cursor pagination, aggregates and bulk writes, from the builder, REST API, Autessa CLI or AutessaScript SDK.

One query model, everywhere. The filters you build in the builder are the same JSON an agent tool uses and the same flags the CLI takes, so a question asked once returns the same answer from every client.

Who works here

Developers use the REST API, CLI and SDK; builders use the query panel; agents use the query and aggregate tools; automation uses bulk and batch writes.

In one sentence each

  • Filters, sorting and pagination · Queries take groups of AND/OR conditions with comparison, text, list and null operators, multi-column sorts, and either page numbers or cursors for large tables.
  • Aggregations · Group rows by a few columns and compute COUNT, SUM, AVG, MIN and MAX on the server, filtering the groups with HAVING.
  • Bulk and batch writes · Bulk calls write many rows by id and batch calls change every row matching a filter, with control over atomicity, triggers, indexing and computed columns.
  • REST API, CLI and SDK · The REST API, the `autessa autessadb` CLI namespace and the `autessa.autessadb` SDK reach the same tables with the same security as the builder.

-- subtopics

Everything in queries, apis and sdks

-- on screen

What it looks like

Aggregations

aggregateSAMPLE
groupBy: ["status"]
aggregates: [{ "function": "COUNT", "alias": "count" },
             { "function": "AVG", "column": "age_hours", "alias": "avg_age" }]
having: [{ "alias": "count", "operator": ">", "value": 5 }]
groupsSAMPLE
open48 · 31h
waiting22 · 54h
escalated9 · 12h

Bulk and batch writes

bulk-insert · 2,000 rowsSAMPLE
{ "rows": [ ... ],
  "atomicity":    "BEST_EFFORT_PER_CHUNK",
  "triggerMode":  "SUPPRESS",
  "indexingMode": "DEFERRED",
  "computeMode":  "IMMEDIATE" }
per-row resultsSAMPLE
Chunks committed3 of 4Rows written1,500Row 1,612priority: not an allowed valueSemantic indexingdeferred

-- faq

Questions about queries, apis and sdks

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 aggregate functions are available?

COUNT, SUM, AVG, MIN and MAX on regular tables. The data lake adds full analytical SQL, including window functions.

Do bulk writes fire triggers?

Not by default. Bulk writes suppress triggers so an import does not fire thousands of actions; set triggerMode to PER_ROW or BATCH_CONTEXT to opt in. Single-row writes always fire triggers.

Does AutessaDB have a REST API?

Yes. The base URL is https://api.autessa.com/clients/autessadb. Pass your API key in the Authorization header and the table id as resourceId.

Other areas of AutessaDB

$ autessa autessadb tables create

Queries, APIs and SDKs, built into one database.

Use it out of the box, then shape it to how your company works. Tables, the data lake, security and triggers are all the same AutessaDB, from the builder, the API or the CLI.

Read the AutessaDB guide or install the CLI.

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