Skip to main content

autessa.autessadb

AutessaDB tables, rows, queries, joins, triggers, access logs, Drives, and analytics tables.

Alongside single-row CRUD, this namespace covers bulk writes (bulkInsert, bulkUpdateByIds, bulkDeleteByIds — many rows per call, with per-row results and modes that control atomicity and whether triggers/indexing/computation run), aggregation (aggregate — grouped COUNT/SUM/AVG/MIN/MAX), and keyset (cursor) pagination on reads (orderBy plus a cursor from the prior response's nextCursor, staying fast on large tables). See each method's signature below for the exact request and response shapes.

Two table-shape options appear here as well. A table can be append-only (immutable / audit-grade): rows can be inserted and read but never updated or deleted, computed columns are not allowed, and column removal is blocked — the setting is a one-way latch chosen at table creation, and each returned schema carries an appendOnly flag. Columns can also be indexed for faster equality filtering: INTEGER, FLOAT, BOOLEAN, SINGLE_SELECT, and foreign-key columns are always indexed, SHORT_TEXT can opt in (its values are length-capped to 2000 characters once indexed), and LONG_TEXT / MULTI_SELECT / media columns cannot be indexed. On a large table a newly requested index builds in the background and becomes usable when its build finishes.

Drives​

autessa.autessadb.drive works with Drives, tables of files and folders. Calls take the Drive's tableId and absolute paths, run as the invoking user, and only reach the files and folders that user can open.

GroupMethods
drivecreate, ls, tree, find, stat, grep, read, search, mkdir, move, trash, restore, purge, downloadUrl, status, usage, transferOwner
drive.uploadscreate, partUrls, completeMultipart, commit, abort
drive.versionslist, restore
drive.shareslist, upsert, remove, sharedWithMe, whoHasAccess
drive.linkscreate, list, revoke

Listings and searches return nextCursor and truncated; pass the cursor back with the same arguments to continue. A move that would change who has access returns requiresConfirmation and moves nothing until you repeat it with confirm: true. Request and response shapes match the Drive API.

const DRIVE = "V1StGXR8Z5";

// Find a clause, then read the page it is on before quoting it.
const hits = autessa.autessadb.drive.grep({
tableId: DRIVE,
path: "/Shared/Legal/Contracts",
pattern: "termination for convenience",
caseInsensitive: true,
});

if (hits.ok && hits.data.matches.length > 0) {
const m = hits.data.matches[0];
const page = autessa.autessadb.drive.read({ tableId: DRIVE, id: m.id, pages: String(m.page) });
console.log(`${m.path} p.${m.page} L.${m.pageLine}`, page.data.lines.map((l) => l.text).join("\n"));
}

// Share a folder with a team as Viewer.
autessa.autessadb.drive.shares.upsert({
tableId: DRIVE,
path: "/Shared/Legal",
principals: [{ type: "TEAM", teamId: "3b1f6a2e-7c41-4d55-9a0e-58c2b7f1d903" }],
role: "VIEWER",
});

Uploading from a script follows the same three steps as the API (uploads.create, send the bytes, uploads.commit); from a terminal, autessa autessadb drive push does all of it for a whole folder.

Analytics tables​

autessa.autessadb.analytics works with analytics tables: columnar tables queried with read-only ANSI SQL (analytical functions such as date_trunc, approx_distinct, and format_datetime are available).

PurposeMethods
Tablescreate, inferSchema, describe, addColumns, updateSemantics, createAgentTools
DataloadFromS3, loadFromTable, appendRows, preview
Queriesquery, estimate, jobStatus, jobResults, jobDownloadUrl, cancel, jobs

Queries run asynchronously as jobs and typically take a few seconds. query waits up to waitMs (at most 20 seconds) and, if the job finished, returns the first rows in preview; otherwise poll jobStatus and page through jobResults. DECIMAL values and very large integers come back as strings, and timestamps as ISO-8601 UTC strings. Request and response shapes match the Analytics API.

const ORDERS = "V1StGXR8Z5";

let res = autessa.autessadb.analytics.query({
tableId: ORDERS,
sql: `SELECT region, SUM(net_amount) AS revenue
FROM order_lines
WHERE order_date >= DATE '2026-01-01'
GROUP BY region`,
waitMs: 20000,
});

let job = res.data;
while (job.state === "QUEUED" || job.state === "RUNNING") {
job = autessa.autessadb.analytics.jobStatus({ tableId: ORDERS, jobId: job.jobId, waitMs: 20000 }).data;
}

if (job.state === "SUCCEEDED") {
const page = autessa.autessadb.analytics.jobResults({ tableId: ORDERS, jobId: job.jobId, page: 0, pageSize: 1000 });
page.data.rows.forEach((r) => console.log(r.region, r.revenue));
} else {
console.log(job.error.errorCode, job.error.message, job.error.hint);
}

The analytics methods do not support row-level calls: autessa.autessadb.query.* on an analytics table fails with a message pointing to autessa.autessadb.analytics.query. On a Drive, write files through drive.* rather than query.insert, which cannot create files or folders.

autessa.autessadb.accessLog.listREAD

autessa.autessadb.accessLog.list({ page, pageSize, tableId, rowId, fromDate, toDate, action })

List the company's row-level data access log (a PHI/PII audit trail), filterable by table, row, date range, and action.

Returns a page of tamper-evident access-log entries recording who read, decrypted, created, updated, or deleted data. page is 0-based; pageSize defaults to 25 (max 100). rowId requires tableId. action is one of READ, DECRYPT, CREATE, UPDATE, DELETE. The log is only returned when the company's audit configuration makes it customer-visible; otherwise customerVisible is false and entries are empty. dates are UTC ISO-8601 strings.

Request fields

  • Name
    page
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rowId
    Type
    number
    Description
  • Name
    fromDate
    Type
    string
    Description
  • Name
    toDate
    Type
    string
    Description
  • Name
    action
    Type
    "READ" | "DECRYPT" | "CREATE" | "UPDATE" | "DELETE"
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    entries
    Type
    AccessLogEntryDto[]
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    totalRows
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description
  • Name
    customerVisible
    Type
    boolean
    Description
  • Name
    chainVerified
    Type
    boolean
    Description

autessa.autessadb.query.batchDeleteMUTATE

autessa.autessadb.query.batchDelete({ tableId, whereGroups, groupsLogicalOperator })

Delete every row matching the given WHERE groups in one call; irreversible.

whereGroups is required — to delete all rows, send a condition that matches all. groupsLogicalOperator combines the groups (default OR); as with batch-update, both AND and OR between groups are fully honored. Only rows within your row-level security scope are deleted; requires WRITE or ADMIN access. Fires DELETE triggers asynchronously.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    whereGroups
    Type
    WhereGroupDto[]
    Description
  • Name
    groupsLogicalOperator
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    deletedCount
    Type
    number
    Description
  • Name
    results
    Type
    BatchDeleteRowResult[]
    Description

autessa.autessadb.query.batchUpdateMUTATE

autessa.autessadb.query.batchUpdate({ tableId, values, whereGroups, groupsLogicalOperator })

Update every row matching the given WHERE groups to the given column values in one call.

Sets the columns in values on all rows matched by whereGroups; columns not in values are left unchanged. whereGroups is required — to update all rows, send a condition that matches all. groupsLogicalOperator combines the groups (default OR); both AND and OR between groups are fully honored, matching query.query's compilation exactly. Only rows within your row-level security scope are affected; requires WRITE or ADMIN access. Fires UPDATE triggers and computations asynchronously.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    values
    Type
    object
    Description
  • Name
    whereGroups
    Type
    WhereGroupDto[]
    Description
  • Name
    groupsLogicalOperator
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    updatedCount
    Type
    number
    Description
  • Name
    results
    Type
    BatchUpdateRowResult[]
    Description
  • Name
    computationStatus
    Type
    string
    Description

autessa.autessadb.query.deleteRowMUTATE

autessa.autessadb.query.deleteRow({ tableId, rowId })

Delete a single row by its numeric row id; irreversible.

Permanently removes the row. The target must be within your row-level security scope — an out-of-scope or missing row returns an error ("Row with ID <id> not found") rather than deleting anything. Fires DELETE triggers asynchronously. The deleted row's prior values are returned in oldRow.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rowId
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    oldRow
    Type
    object
    Description
  • Name
    newRow
    Type
    object
    Description
  • Name
    deletedId
    Type
    number
    Description

autessa.autessadb.query.generateUploadLinkMUTATE

autessa.autessadb.query.generateUploadLink({ tableId, fileType, columnName })

Get a presigned S3 PUT URL to upload media for a FILE/IMAGE/AUDIO/VIDEO column; PUT the bytes, then store the returned s3Uri as that column's filePath via query.insert or query.update.

columnName must name an existing FILE/IMAGE/AUDIO/VIDEO column, and fileType must be an extension valid for that column's type (e.g. PNG/JPG/JPEG for IMAGE; PDF/DOCX/XLSX/TXT/EML for FILE; MP4/MOV/etc for VIDEO; MP3/M4A/WAV for AUDIO). The upload URL expires in 300 seconds. Requires WRITE or ADMIN access on the table.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    fileType
    Type
    "DOCX" | "DOC" | "PDF" | "PPTX" | "XLSX" | "XLS" | "TXT" | "JSON" | "YAML" | "YML" | "XML" | "HTML" | "HTM" | "CSV" | "EML" | "MD" | "MARKDOWN" | "PNG" | "JPG" | "JPEG" | "MP4" | "AVI" | "MOV" | "WMV" | "FLV" | "MKV" | "WEBM" | "MPEG" | "MPG" | "MP3" | "M4A" | "WAV"
    Description
  • Name
    columnName
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    uploadUrl
    Type
    string
    Description
  • Name
    s3Uri
    Type
    string
    Description
  • Name
    expiresInSeconds
    Type
    number
    Description

autessa.autessadb.query.getDataREAD

autessa.autessadb.query.getData({ tableId, page, pageSize })

Page through all of a table's rows with no filters, sorted newest-updated first.

Like query.query but without WHERE conditions or custom ordering: rows come back sorted by updated_at DESC, id DESC. Pagination is 1-based: page defaults to 1, pageSize defaults to 50 (max 100). Row-level and field-level security still apply.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    page
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    schema
    Type
    AutessaDbSchema
    Description
  • Name
    rows
    Type
    TableRowDto[]
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    totalRows
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description

autessa.autessadb.query.getSingleRowREAD

autessa.autessadb.query.getSingleRow({ tableId, rowId })

Fetch one row by its numeric row id, with presigned download URLs for any media columns.

Returns the row and the (pruned) schema. FILE/IMAGE/AUDIO/VIDEO columns come back with a short-lived presignedUrl for download. If the row does not exist, or your row-level security puts it out of scope, the call returns an error ("Row with ID <id> not found") rather than revealing its existence.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rowId
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    schema
    Type
    AutessaDbSchema
    Description
  • Name
    row
    Type
    TableRowDto
    Description

autessa.autessadb.query.indexRecordMUTATE

autessa.autessadb.query.indexRecord({ tableId, rowId })

Synchronously (re)index one row's vectorizable columns into the vector store so query.search can find it.

Only columns with vectorizeField=true and a vectorizable type (SHORT_TEXT, LONG_TEXT, FILE, AUDIO) are indexed. Returns counts of columns and vectors written. Succeeds with columnsIndexed 0 if the table has no vectorizable columns. Requires WRITE access. A missing row returns an error.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rowId
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    recordId
    Type
    number
    Description
  • Name
    columnsIndexed
    Type
    number
    Description
  • Name
    vectorsCreated
    Type
    number
    Description
  • Name
    indexingDurationMs
    Type
    number
    Description
  • Name
    indexedColumns
    Type
    string[]
    Description

autessa.autessadb.query.insertMUTATE

autessa.autessadb.query.insert({ tableId, values })

Insert one row into a table as a map of column name to typed value.

values maps each column name to an AutessaDbColumnValue carrying columnType plus the matching typed field (textValue for SHORT_TEXT/LONG_TEXT/ULTRA_LONG_TEXT/SINGLE_SELECT/DATETIME, integerValue, floatValue, booleanValue, multiSelectValue, or filePath for media). Omit the built-in id/created_at/updated_at columns — they are set automatically. Required columns and select-option membership are validated; writing a column your field-level security forbids is rejected. Firing INSERT triggers and any computed columns happens asynchronously afterwards: computationStatus is "COMPUTING" when a computation was kicked off (its results are not in this response), else null.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    values
    Type
    object
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    oldRow
    Type
    object
    Description
  • Name
    newRow
    Type
    object
    Description
  • Name
    insertedId
    Type
    number
    Description
  • Name
    computationStatus
    Type
    string
    Description

autessa.autessadb.query.joinQueryREAD

autessa.autessadb.query.joinQuery({ tableId, joins, whereGroups, groupsLogicalOperator, orderBy, selectColumns, page, pageSize })

Query a table joined to related tables via foreign keys, with WHERE groups, ordering, column projection, and pagination.

joins lists the tables to bring in (INNER by default; LEFT/RIGHT/FULL_OUTER/CROSS supported). Each condition and sort term may target a joined table via its tableId (null = the main table). whereGroups apply after the join; groupsLogicalOperator defaults to OR. selectColumns optionally narrows the projection (default: all columns you may see). Pagination is 1-based: page defaults to 1, pageSize defaults to 50 (max 100). Default sort is the main table's updated_at DESC. Row-level security is applied per table so outer-join null-extension is preserved; field-level security prunes each table's columns. Returned row columnData keys are prefixed "<tableName>_<columnName>".

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    joins
    Type
    JoinConditionDto[]
    Description
  • Name
    whereGroups
    Type
    WhereGroupDto[]
    Description
  • Name
    groupsLogicalOperator
    Type
    string
    Description
  • Name
    orderBy
    Type
    OrderByDto[]
    Description
  • Name
    selectColumns
    Type
    SelectColumnDto[]
    Description
  • Name
    page
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    mainSchema
    Type
    AutessaDbSchema
    Description
  • Name
    joinedSchemas
    Type
    object
    Description
  • Name
    joinedTables
    Type
    JoinedTableSchemaDto[]
    Description
  • Name
    rows
    Type
    JoinedTableRowDto[]
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    totalRows
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description

autessa.autessadb.query.queryREAD

autessa.autessadb.query.query({ tableId, whereGroups, groupsLogicalOperator, orderBy, page, pageSize })

Query a table's rows with WHERE groups, ordering, and pagination. The primary way to read filtered data.

Rows are filtered by whereGroups (each a group of column conditions) and returned one page at a time. Within a group, conditions combine by the group's logicalOperator (default AND); the groups combine by groupsLogicalOperator (default OR). Pagination is 1-based: page defaults to 1, pageSize defaults to 50 (max 100). Default sort is updated_at DESC, id DESC. Only rows and columns your row-level and field-level security allow are returned; masked columns are redacted unless you may read them. See the WhereConditionDto type for the full operator list.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    whereGroups
    Type
    WhereGroupDto[]
    Description
  • Name
    groupsLogicalOperator
    Type
    string
    Description
  • Name
    orderBy
    Type
    OrderByDto[]
    Description
  • Name
    page
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    schema
    Type
    AutessaDbSchema
    Description
  • Name
    rows
    Type
    TableRowDto[]
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    totalRows
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description

autessa.autessadb.query.searchREAD

autessa.autessadb.query.search({ tableId, query, columnName, limit, scoreThreshold, page, includeDetails })

Semantic (vector) search over a table's indexed column, ranked by similarity to a query string.

Both query and columnName are required. columnName must be a column with vectorizeField=true; only SHORT_TEXT, LONG_TEXT, FILE, and AUDIO columns can be indexed (use tables.tableOptions to see which types qualify, and query.indexRecord to (re)index a row). This is pure semantic search, not keyword matching. limit defaults to 10 (max 100); scoreThreshold defaults to 0.0 and is clamped to 0..1; page is 1-based (default 1); includeDetails (default false) adds per-embedding match diagnostics. Results are row-level-security filtered; masked columns are always redacted in results. Rate-limited per company.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    query
    Type
    string
    Description
  • Name
    columnName
    Type
    string
    Description
  • Name
    limit
    Type
    number
    Description
  • Name
    scoreThreshold
    Type
    number
    Description
  • Name
    page
    Type
    number
    Description
  • Name
    includeDetails
    Type
    boolean
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    schema
    Type
    AutessaDbSchema
    Description
  • Name
    results
    Type
    SearchResult[]
    Description
  • Name
    totalResults
    Type
    number
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description
  • Name
    metadata
    Type
    SearchMetadata
    Description

autessa.autessadb.query.updateMUTATE

autessa.autessadb.query.update({ tableId, rowId, values })

Update a single row's column values by row id; only the columns you send change.

Sets each column in values on the row identified by rowId; columns you omit keep their current value (so this coexists with concurrent user edits to other columns). Required columns and field-level write security are enforced. The target must be within your row-level security scope. Fires UPDATE triggers and computed columns asynchronously; computationStatus is "COMPUTING" when a computation started, else null.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rowId
    Type
    number
    Description
  • Name
    values
    Type
    object
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    oldRow
    Type
    object
    Description
  • Name
    newRow
    Type
    object
    Description
  • Name
    updatedId
    Type
    number
    Description
  • Name
    computationStatus
    Type
    string
    Description

autessa.autessadb.roles.createMUTATE

autessa.autessadb.roles.create({ name, description, tablePolicies, assignments })

Create an AutessaDB security role with table policies (row filters, column masking) and assignments to users, teams, or custom apps.

name is required. The caller must have ADMIN access on every table referenced by the role's policies. Policies only take effect on tables where rlsEnforced is on (see tables.updateSettings). A policy's rowPredicate limits which rows the role sees; columnRules mask or hide columns.

Request fields

  • Name
    name
    Type
    string
    Description
  • Name
    description
    Type
    string
    Description
  • Name
    tablePolicies
    Type
    DbRoleTablePolicyDto[]
    Description
  • Name
    assignments
    Type
    DbRoleAssignmentDto[]
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    role
    Type
    DbRoleDto
    Description

autessa.autessadb.roles.deleteMUTATE

autessa.autessadb.roles.delete({ roleId })

Delete an AutessaDB security role and its assignments.

Requires ADMIN access on every table referenced by the role's policies. App-managed roles cannot be deleted here. Removing a role restores default (open) access on its tables for the affected principals, subject to remaining roles.

Request fields

  • Name
    roleId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description

autessa.autessadb.roles.getREAD

autessa.autessadb.roles.get({ roleId })

Fetch one AutessaDB security role by roleId (a UUID string), including its table policies and assignments.

Returns "Role not found" for an unknown id or a role in another company.

Request fields

  • Name
    roleId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    role
    Type
    DbRoleDto
    Description

autessa.autessadb.roles.listREAD

autessa.autessadb.roles.list({ tableId })

List the company's AutessaDB security roles; pass tableId to only return roles with a policy on that table.

Open to any company member with AutessaDB access. Each role bundles per-table row filters and column rules plus assignments to users/teams/apps.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    roles
    Type
    DbRoleDto[]
    Description

autessa.autessadb.roles.updateMUTATE

autessa.autessadb.roles.update({ roleId, name, description, tablePolicies, assignments })

Update an AutessaDB security role; null fields are left unchanged, but a non-null tablePolicies or assignments list replaces the existing set wholesale (an empty list clears it).

Requires ADMIN access on every table referenced by both the existing and the new policies. Read the role with roles.get first if you want to preserve policies/assignments you are not changing. App-managed roles (managedByAppId set) cannot be edited here.

Request fields

  • Name
    roleId
    Type
    string
    Description
  • Name
    name
    Type
    string
    Description
  • Name
    description
    Type
    string
    Description
  • Name
    tablePolicies
    Type
    DbRoleTablePolicyDto[]
    Description
  • Name
    assignments
    Type
    DbRoleAssignmentDto[]
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    role
    Type
    DbRoleDto
    Description

autessa.autessadb.tables.allREAD

autessa.autessadb.tables.all()

List every AutessaDB table you can access in the current company, split by how you got access.

Returns your accessible tables in three buckets: tables you own, tables shared company-wide, and tables shared specifically with you. Not paginated.

Request fields

No fields.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    ownedTables
    Type
    AutessaDbTableDto[]
    Description
  • Name
    companySharedTables
    Type
    AutessaDbTableDto[]
    Description
  • Name
    sharedWithMeTables
    Type
    AutessaDbTableDto[]
    Description

autessa.autessadb.tables.analyzeTriggerImpactMUTATE

autessa.autessadb.tables.analyzeTriggerImpact({ tableId, eventType, maxDepth, includeDisabledTriggers, stopAtCycles, includeSecondaryImpacts })

Simulate what would cascade if an event fired on a table: the downstream flow of triggers, tools, agents, and affected tables, with cycle detection. Read-only dry run.

Nothing executes — this only analyses the trigger graph, so run it before adding triggers to avoid trigger loops. Send tableId and eventType (INSERT | UPDATE | DELETE | ANY). maxDepth defaults to 10, includeDisabledTriggers to false, stopAtCycles to true, and includeSecondaryImpacts to true. The response is a flow graph (flowNodes keyed by nodeId, starting at rootNodeId), a summary of affected resources, and any detected cycles.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    eventType
    Type
    "INSERT" | "UPDATE" | "DELETE" | "ANY"
    Description
  • Name
    maxDepth
    Type
    number
    Description
  • Name
    includeDisabledTriggers
    Type
    boolean
    Description
  • Name
    stopAtCycles
    Type
    boolean
    Description
  • Name
    includeSecondaryImpacts
    Type
    boolean
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    sourceTableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    sourceTableName
    Type
    string
    Description
  • Name
    eventType
    Type
    "INSERT" | "UPDATE" | "DELETE" | "ANY"
    Description
  • Name
    flowNodes
    Type
    object
    Description
  • Name
    rootNodeId
    Type
    string
    Description
  • Name
    totalPossiblePaths
    Type
    number
    Description
  • Name
    maxDepth
    Type
    number
    Description
  • Name
    affectedResources
    Type
    AffectedResourcesSummary
    Description
  • Name
    detectedCycles
    Type
    CycleDetection[]
    Description
  • Name
    warnings
    Type
    string[]
    Description

autessa.autessadb.tables.confirmDeleteMUTATE

autessa.autessadb.tables.confirmDelete({ tableId, deleteToken })

Permanently delete a table using the deleteToken from tables.delete: drops the table with all rows, its stored files, and its vector-index entries.

Irreversible. Requires the matching, unexpired deleteToken from tables.delete for the same table.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    deleteToken
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description

autessa.autessadb.tables.createMUTATE

autessa.autessadb.tables.create({ tableName, schema })

Create a new ordinary AutessaDB table with the given name and column schema.

The request is {tableName, schema}. schema is an AutessaDbSchemaCreate whose columns live in schema.columnDefinitions (NOT "columns") — an array of column objects each with columnName and columnType (plus optional required, columnComment, allowedValues for SINGLE_SELECT/MULTI_SELECT, defaultValue, vectorizeField, masked). columnType is one of SHORT_TEXT, LONG_TEXT, ULTRA_LONG_TEXT, FILE, AUDIO, IMAGE, VIDEO, INTEGER, FLOAT, BOOLEAN, SINGLE_SELECT, MULTI_SELECT. ULTRA_LONG_TEXT is unlimited-length text (values past a threshold are stored in S3 and re-inflated on read) that cannot be vectorized or indexed. The built-in id, created_at, and updated_at columns are added automatically — do not declare them. DATETIME is a legacy, read-only type: it is rejected on create (and on schema updates); store timestamps as SHORT_TEXT holding UTC ISO-8601 strings (e.g. 2026-07-15T14:30:00Z) instead. This always creates an ordinary (DEFAULT) table — the only table kind the SDK creates — so the create schema carries no table-kind field. A basic table with a vectorized column plus a semantic-query tool is the scriptable pattern for document search (see the grounding-agent-on-documents guide). Call get_sdk_type("AutessaDbSchemaCreate") and get_sdk_type("AutessaDbColumnDefinition") to see every field before building the request.

Request fields

  • Name
    tableName
    Type
    string
    Description
  • Name
    schema
    Type
    AutessaDbSchemaCreate
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

autessa.autessadb.tables.deleteMUTATE

autessa.autessadb.tables.delete({ tableId })

Request deletion of a table; returns a short-lived deleteToken you must confirm with tables.confirmDelete.

Nothing is deleted yet. Returns a deleteToken valid for 300 seconds (expiresIn); pass it to tables.confirmDelete to actually drop the table. Connector-managed dependent tables cannot be deleted here — delete the linked connector instead.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    deleteToken
    Type
    string
    Description
  • Name
    expiresIn
    Type
    number
    Description

autessa.autessadb.tables.getREAD

autessa.autessadb.tables.get({ tableId })

Fetch a table's schema, settings, and your access level by table id.

Returns the full table (schema with columns, built-ins, triggers, settings, type, tags) and your permission on it (READ/WRITE/PUBLISH/ADMIN).

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    permission
    Type
    "READ" | "WRITE" | "PUBLISH" | "ADMIN"
    Description
  • Name
    table
    Type
    AutessaDbTableDto
    Description

autessa.autessadb.tables.getSharingDetailsREAD

autessa.autessadb.tables.getSharingDetails({ tableId })

Get a table's sharing level, company-wide permission, per-user grants, your own access level, and its row-security settings.

Read-only view of exactly what tables.share and tables.updateSettings would modify.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    sharingLevel
    Type
    "PRIVATE" | "SPECIFIC_MEMBER" | "COMPANY"
    Description
  • Name
    companyPermissionLevel
    Type
    "READ" | "WRITE" | "PUBLISH" | "ADMIN"
    Description
  • Name
    sharedWith
    Type
    UserShareWrapper[]
    Description
  • Name
    userAccessLevel
    Type
    "READ" | "WRITE" | "PUBLISH" | "ADMIN"
    Description
  • Name
    rlsEnforced
    Type
    boolean
    Description
  • Name
    defaultRoleId
    Type
    string
    Description

autessa.autessadb.tables.shareMUTATE

autessa.autessadb.tables.share({ tableId, level, accessLevel, usersToAdd, usersToRemove })

Set a table's sharing mode: PRIVATE, COMPANY-wide at one access level, or SPECIFIC_MEMBER with per-user grants via usersToAdd/usersToRemove.

Requires ADMIN access on the table. Connector-managed dependent tables cannot be shared here (update the linked connector). If the table has rlsEnforced on, broadening access requires a default role to be set first (see tables.updateSettings).

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    level
    Type
    "PRIVATE" | "SPECIFIC_MEMBER" | "COMPANY"
    Description
  • Name
    accessLevel
    Type
    "READ" | "WRITE" | "PUBLISH" | "ADMIN"
    Description
  • Name
    usersToAdd
    Type
    UserShareWrapper[]
    Description
  • Name
    usersToRemove
    Type
    UserShareWrapper[]
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    accessLevel
    Type
    "READ" | "WRITE" | "PUBLISH" | "ADMIN"
    Description
  • Name
    level
    Type
    "PRIVATE" | "SPECIFIC_MEMBER" | "COMPANY"
    Description
  • Name
    usersWithAccess
    Type
    UserShareWrapper[]
    Description

autessa.autessadb.tables.tableOptionsREAD

autessa.autessadb.tables.tableOptions()

List which AutessaDB column types support semantic vectorization (i.e. can carry vectorizeField=true for query.search).

Takes no arguments. Returns the subset of column types eligible for the vector index (SHORT_TEXT, LONG_TEXT, FILE, AUDIO).

Request fields

No fields.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    vectorizableColumns
    Type
    "SHORT_TEXT" | "LONG_TEXT" | "FILE" | "AUDIO" | "IMAGE" | "VIDEO" | "INTEGER" | "FLOAT" | "BOOLEAN" | "SINGLE_SELECT" | "MULTI_SELECT" | "DATETIME"[]
    Description

autessa.autessadb.tables.updateSchemaMUTATE

autessa.autessadb.tables.updateSchema({ tableId, columnNamesToRemove, columnsToAdd, selectOptionsToAdd, tags })

Modify a table's schema by removing columns, adding columns, and adding SINGLE_SELECT/MULTI_SELECT options (there is no rename or retype).

Removing a column permanently drops its data. The built-in id, created_at, and updated_at columns are protected and cannot be removed or re-added. New columns with required=true must carry a defaultValue or computationValue to backfill existing rows. New columns may not use the legacy DATETIME type — store timestamps as SHORT_TEXT holding UTC ISO-8601 strings (e.g. 2026-07-15T14:30:00Z) instead. selectOptionsToAdd only adds allowed values to SINGLE_SELECT/MULTI_SELECT columns, never removes them. A non-null tags set replaces the table's tags wholesale.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    columnNamesToRemove
    Type
    string[]
    Description
  • Name
    columnsToAdd
    Type
    AutessaDbColumnDefinition[]
    Description
  • Name
    selectOptionsToAdd
    Type
    object
    Description
  • Name
    tags
    Type
    string[]
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    updatedSchema
    Type
    AutessaDbSchema
    Description

autessa.autessadb.tables.updateSettingsMUTATE

autessa.autessadb.tables.updateSettings({ tableId, rlsEnforced, defaultRoleId, clearDefaultRole })

Update a table's security settings (owner/ADMIN only): toggle rlsEnforced and set or clear the default role auto-assigned to grantees when the table is shared.

rlsEnforced=true turns on closed-by-default row security — an identity with no applicable role policy sees no rows; when false (the column default), tables without policies are unrestricted. Null request fields are left unchanged. defaultRoleId is a role UUID you administer that covers this table; clearDefaultRole=true unsets it and takes precedence over defaultRoleId. Note: broadening sharing on an rlsEnforced table requires a default role to be set first.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    rlsEnforced
    Type
    boolean
    Description
  • Name
    defaultRoleId
    Type
    string
    Description
  • Name
    clearDefaultRole
    Type
    boolean
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    rlsEnforced
    Type
    boolean
    Description
  • Name
    defaultRoleId
    Type
    string
    Description

autessa.autessadb.trigger.addMUTATE

autessa.autessadb.trigger.add({ tableId, trigger })

Add a trigger to a table that fires per row on INSERT/UPDATE/DELETE and runs a tool, an agent, a manager, or a write to another AutessaDB table.

The trigger needs triggerName, triggerType (INVOKE_TOOL | INVOKE_AGENT | INVOKE_MANAGER | UPDATE_AUTESSADB), a condition ({event: INSERT|UPDATE|DELETE|ANY, plus an optional filterMode + columnFilters to fire only on specific column changes}), and exactly one matching action config (e.g. invokeToolActionConfig.toolExecutionRequest with the target toolId and variables). Action-config string values may reference the triggering row with @@{columnName} (and @@{old.columnName} for the prior value). Triggers run asynchronously after the row change, with the permissions of their creator (definer rights). Chaining is implicit: an UPDATE_AUTESSADB action that writes another table fires that table's triggers in turn — use tables.analyzeTriggerImpact first to check for loops. Requires PUBLISH or ADMIN access; the server assigns triggerId and definerUserId.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

autessa.autessadb.trigger.allREAD

autessa.autessadb.trigger.all({ tableId })

List all of a table's triggers.

Returns every trigger configured on the table (enabled or not). Requires access to the table.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    triggers
    Type
    AutessaDbTrigger[]
    Description

autessa.autessadb.trigger.deleteMUTATE

autessa.autessadb.trigger.delete({ tableId, triggerId })

Delete a trigger.

Permanently removes the trigger from the table. Requires ADMIN access.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    triggerId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description

autessa.autessadb.trigger.disableMUTATE

autessa.autessadb.trigger.disable({ tableId, triggerId })

Disable a trigger without deleting it; it stops firing until re-enabled.

Requires ADMIN access. Returns the updated trigger.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    triggerId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

autessa.autessadb.trigger.enableMUTATE

autessa.autessadb.trigger.enable({ tableId, triggerId })

Re-enable a disabled trigger so it fires on future row changes.

Requires ADMIN access. Returns the updated trigger.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    triggerId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

autessa.autessadb.trigger.getREAD

autessa.autessadb.trigger.get({ tableId, triggerId })

Fetch a single trigger's configuration by id.

Requires access to the table. Use before trigger.update to read-modify-submit the trigger.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    triggerId
    Type
    string
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

autessa.autessadb.trigger.historyREAD

autessa.autessadb.trigger.history({ tableId, year, month, page })

Page through a table's trigger execution history (which triggers fired, on what event, and their result) for a given year and month.

year and month (1-12) are required and scope the history window. page is 0-based; the response includes totalElements, totalPages, and hasNext for paging. Entries are newest first.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    year
    Type
    number
    Description
  • Name
    month
    Type
    number
    Description
  • Name
    page
    Type
    number
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    triggerEvents
    Type
    TriggerEventDto[]
    Description
  • Name
    totalElements
    Type
    number
    Description
  • Name
    totalPages
    Type
    number
    Description
  • Name
    currentPage
    Type
    number
    Description
  • Name
    pageSize
    Type
    number
    Description
  • Name
    hasNext
    Type
    boolean
    Description
  • Name
    hasPrevious
    Type
    boolean
    Description

autessa.autessadb.trigger.updateMUTATE

autessa.autessadb.trigger.update({ tableId, triggerId, trigger })

Update a trigger by submitting triggerId plus the complete modified trigger object (read with trigger.get, modify, submit).

The stored trigger configuration is replaced wholesale — omitted fields are lost, so always start from the entity returned by trigger.get. Requires ADMIN access. The definerUserId is re-stamped to you (last-editor-wins), so the trigger runs with your permissions afterwards.

Request fields

  • Name
    tableId
    Type
    string (opaque id)
    Description
    References autessadb table by opaque id.
  • Name
    triggerId
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description

Response fields

  • Name
    errors
    Type
    string[]
    Description
  • Name
    deprecationWarnings
    Type
    string[]
    Description
  • Name
    sessionToken
    Type
    string
    Description
  • Name
    trigger
    Type
    AutessaDbTrigger
    Description