Describe a table (`catalog.schema.table` or a shorter unambiguous name): `qualified`, `name`,
const url = 'https://example.com/datanotes/operations/describe_table/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"table":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/datanotes/operations/describe_table/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "table": "example" }'Describe a table (catalog.schema.table or a shorter unambiguous name): qualified, name,
catalog, schema, description, aliases, layout (folder, row_folder: the folder pattern
of new rows, archive), options (partition, filename, archive, exclude), typed columns
with label/aliases/description and the dense flag, untyped_fields, row_count, and when set:
tags, bases (the bases it inherits from, in order), constraints (its CHECKs, name → where), row_template, history,
autolink_target, fields (their values).
Before adding a column (e.g. a new metric), read columns and match your concept against
name, label, aliases and description; reuse an existing column when it means the same.
missing_descriptions ({table, columns}), present only when something has no description (a table
defined before descriptions were required), names what lacks one: write them with alter_table
description and alter_column changes.description, asking the user when the meaning is unclear.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Example generated
{ "table": "example"}Responses
Section titled “Responses”Done.
The table’s definition with its qualified name and row count.
object
What a row of the table records.
Other words for what the table records, for agents.
object
Folder of the table’s rows.
Folder pattern of new rows: the table folder, plus its partition.
Archive folder.
The table options set on it: partition, filename, archive, exclude.
object
Declared columns.
object
Column type (string, number, integer, boolean, date, datetime, enum, link, list, …).
Element type of a list column.
Default value.
Allowed values of an enum.
object
Target table of a link column.
Link column: the where filter every linked row must match.
object
Link column: the row’s column that picks the targets’ level: {column, target_column?, levels?, map} (map always expanded: value -> null for a top level, or the allowed target values).
object
Expression of a generated column.
Written on every row (with its default).
Table defaults without a column (written on every new row), and the table front matter key.
Catalog.schema.table
Rows in the table.
Key/value labels of the table (alter_table tags), when it has any.
object
What has no description, when something has none (a table defined before descriptions were required): fill them with alter_table and alter_column.
object
True when the table itself has no description.
The columns without a description.
The bases it inherits columns from, in order.
Its CHECK constraints: name → the where every row must match.
object
object
The text of every new row’s note.
Its own history setting (absent: the database’s).
Its own autolink_target setting (absent: the default).
Front matter keys every new row gets, with their values.
object
Example
{ "columns": [ { "identity": "filename" } ]}Bad input: the body is not a JSON object, or an argument is unknown, missing or of the wrong type.
object
What went wrong, for a person or an agent.
Example generated
{ "error": "example"}Missing or wrong bearer token.
object
What went wrong, for a person or an agent.
Example generated
{ "error": "example"}Unknown table, view, migration, note or folder.
object
What went wrong, for a person or an agent.
Example generated
{ "error": "example"}Ambiguous table name: it matches several tables (paths or tables lists them).
object
The tables’ folders the name matches.
The qualified tables the name matches.
Example generated
{ "error": "example", "paths": [ "example" ], "tables": [ "example" ]}Unexpected error.
object
What went wrong, for a person or an agent.
Example generated
{ "error": "example"}