# Describe a table (`catalog.schema.table` or a shorter unambiguous name): `qualified`, `name`,

`POST /datanotes/operations/describe_table/` (operation `describe_table`)

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.

## Request body

`application/json`, required

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `table` | `string` | yes |  |  |

## Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Done. | `object` (application/json) |
| 400 | Bad input: the body is not a JSON object, or an argument is unknown, missing or of the wrong type. | `Error` (application/json) |
| 401 | Missing or wrong bearer token. | `Error` (application/json) |
| 404 | Unknown table, view, migration, note or folder. | `Error` (application/json) |
| 409 | Ambiguous table name: it matches several tables (`paths` or `tables` lists them). | `AmbiguousName` (application/json) |
| 500 | Unexpected error. | `Error` (application/json) |

The schemas named here are in [openapi.json](https://datanotes.dev/openapi.json) (`components.schemas`).
