---
title: "Update a declared metadata column"
method: PUT
path: "/metadata_columns/{key}"
tags: ["metadata-columns"]
---

# Update a declared metadata column

`PUT /metadata_columns/{key}`

(reserved for future use) Updates a declared metadata column (filter\_only / index\_type; type change triggers a column rebuild at the next ingestion).

Required roles: All

## Request body

- UpdateMetadataColumnRequest
  - `type` 'string' | 'integer'
  - `filter_only` boolean
  - `index_type` 'btree' | 'bitmap'

## Response `200`

Column updated

- MetadataColumn — A declared metadata column materialized as a typed LanceDB column.
  - `key` string, required — Metadata key name (also the LanceDB column source name).
  - `type` 'string' | 'integer', required — Column type. Only string / integer (scalar-indexable) are allowed.
  - `filter_only` boolean — When true, the value is kept only as a LanceDB column for filtering and is not included in chunk bodies or API responses.
  - `index_type` 'btree' | 'bitmap' — Scalar index type actually applied to the column. Defaults to BTREE for integer and BITMAP for string when not specified at creation; override for cardinality (e.g. high-cardinality string -> btree).
  - `created_at` string, nullable

## Other responses

- `400` — Bad Request - the policy failed validation
- `401` — Unauthorized - Authentication failed
- `403` — Forbidden - requires an API key with All permission
- `404` — Not found

---

[API](https://skmtc.net/qlonolink/apis/qaip-apis.md) · [All operations](https://skmtc.net/qlonolink/apis/qaip-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qlonolink/qaip-apis/revisions/f5f5994dfe05/schema)
