Information Schema
Inspect table and column metadata across all connections. Returns schema information including column names, data types, and sync status for every discovered table.
List tables
/v1/information_schemaList discovered tables with optional filtering and pagination. Supports wildcard patterns (SQL %) for schema and table name filters. Set include_columns=true to include column definitions (omitted by default). Every table carries its declared storage layout — partition_by and sorted_by — which is fixed when the table is created and cannot be changed afterwards. Both are always present; an empty array means none was declared. Only tables in a Hotdata instant database declare a layout here, so a table discovered from an external connection always reports empty arrays.
Query parameters
connection_idstring— Filter by connection IDschemastring— Filter by schema name (supports % wildcards)tablestring— Filter by table name (supports % wildcards)include_columnsboolean— Include column definitions (default: false)limitinteger— Maximum number of tables per pagecursorstring— Pagination cursor from a previous response
Response 200 — Table metadata
countinteger— required. Number of tables in this response, the same meaningcountcarries on the results and databases listings. This is a page size, not a total for the whole filter. Page withhas_moreandnext_cursor: an emptytablesarray on its own does not mean the listing is finished. Min:0has_moreboolean— required. True when more tables follow this page. Passnext_cursorto fetch them.limitinteger— required. The page size in effect for this response — thelimityou asked for, clamped to the server's maximum, or the server default when you sent none. Min:0next_cursorstring,null— Cursor for the next page, present only whenhas_moreistrue. Send it back as thecursorquery parameter.tablesTableInfo[] — required. The tables on this page.columnsColumnInfo[] |nulldata_typestring— requirednamestring— requirednullableboolean— required
connectionstring— requiredconstant_per_keystring[] — required. Columns the table declares constant for a given key: for every row, any other row sharing its key holds the same value of these columns. Declaring this lets a keyed mutation narrow its search for prior versions to the values the upload carries. Empty when none is declared, which is the unrestricted search. Unlikepartition_byandsorted_bythis is NOT fixed at creation — it changes only which files a mutation opens, never how rows are written — so read it here rather than assuming a declaration took effect.last_syncstring,nullpartition_byTablePartitionKey[] — required. The table's partition keys, in the order they were declared when the table was created. Empty when the table is not partitioned. A table's storage layout is fixed when the table is created and cannot be changed afterwards, so this is how to confirm a table really was created with the layout that was asked for. The field is always present: an empty array means "no partitioning declared", which is not the same as a response that omits the field entirely. Reported for tables in a Hotdata instant database, which are the only ones whose layout is declared here. A table discovered from an external connection always reports an empty array — its layout belongs to the upstream system, so an empty array there means "not known from here", not "confirmed unpartitioned".columnstring— required. Column the key reads.transformstring— required. How the value is derived from the column. One ofidentity(the column value itself),year,month,day, orhour.
schemastring— requiredsorted_byTableSortKey[] — required. The table's sort keys, in the order they were declared when the table was created. Empty when no sort order was declared. Always present, and limited to tables in a Hotdata instant database, for the same reasons aspartition_by.columnstring— requireddirectionstring,null—asc(the default) ordesc. Null when the table was declared without an explicit direction for this key.nullsstring,null— Where nulls are placed:firstorlast. Defaults to the SQL default for the chosen direction. Null when the table was declared without an explicit placement for this key.
syncedboolean— requiredtablestring— required
{
"count": 0,
"has_more": true,
"limit": 0,
"next_cursor": "string",
"tables": [
{
"columns": [
{}
],
"connection": "string",
"constant_per_key": [
"string"
],
"last_sync": "string",
"partition_by": [
{}
],
"schema": "string",
"sorted_by": [
{}
],
"synced": true,
"table": "string"
}
]
}
Errors
| Status | Description |
|---|---|
403 | The credential is limited to one database, and the request does not name that database's connection |
404 | Connection not found |