# Describe the database: its folder (`root`), `metastore` (`metastore.yaml`: read it freely,

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

Describe the database: its folder (`root`), `metastore` (`metastore.yaml`: read it freely,
but it is read-only for agents and changes only through the schema operations), configuration
(default catalog and schema, row partition and file-name formats, archive folder, time zone,
history, automatic links),
journal folder, `bases` (shared column sets and the tables using them), `catalogs` → `schemas` → `tables` (with `row_count`, `tags`, and `unreadable_count` when some rows' front matter cannot be read) and `views`;
catalogs and schemas show their `comment` (set with `comment_on`). A table or base defined before
descriptions were required has `missing_descriptions`: what lacks one, for alter_table / alter_column
(define_base for a base) to fill, so every table and column says what it holds.

## Request body

`application/json`

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |

## Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Done. | `DatabaseDescription` (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) |
| 500 | Unexpected error. | `Error` (application/json) |

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