data

Read warehouse column metadata for a named relation.

Returns column-level metadata (COMMENT, data type, nullability) for one named relation, so a table element can show warehouse-sourced headers and description tooltips (DVT-134). The relation is given as TYPED PARTS (database/schema/table), each validated against a strict identifier allowlist — never one dotted string — so a part is never interpolated into SQL it hasn't been validated for (DVT-7).

Same tenant gate and sole-decryptor path as POST /v1/data/query: a cross-tenant sourceId returns 404. The describe runs read-only as the connection's warehouse role (Postgres col_description, Snowflake warehouse-free SHOW COLUMNS). A relation the role cannot see, or that does not exist, returns an empty columns list — never an error that distinguishes "no such table" from "exists but not yours".

Column comments may be sensitive: they are fetched at request time and never persisted (ADR-0011).

post/v1/data/describe

Request

  • Base URL: http://localhost:8080
  • URL: http://localhost:8080/v1/data/describe
  • Auth: one of:
    • API key in cookie dvt_session
    • HTTP bearer

Request body

sourceIdstring required

Connection name or UUID (resolved per connection-as-code.md).

databasestring

Relation database part. Optional for Postgres (the connection is bound to one database); used to fully qualify a Snowflake relation. Identifier allowlist: letters, digits, _ or $, up to 255 chars.

schemastring required

Relation schema part. Identifier allowlist: letters, digits, _ or $, up to 255 chars.

tablestring required

Relation table part. Identifier allowlist: letters, digits, _ or $, up to 255 chars.

Response

Column metadata for the relation (empty list when not visible/found).

Changes

No recorded changes to this operation across all 1 revision of this API.