---
title: "Update metadata schema"
method: PATCH
path: "/databases/{database}/metadata-schema"
tags: ["database-management"]
---

# Update metadata schema

`PATCH /databases/{database}/metadata-schema`

Add new metadata schema fields to an existing database. Additive only — existing fields cannot be deleted or retyped.

## Path parameters

- `database` string, required

## Request body

- TenantsTenantMetadataSchemaUpdateRequest
  - `add_fields` TenantsCustomPropertyDefinition[] — New metadata schema fields to add to the database. Additive only — no deletes, renames, or type changes.
    - `data_type` 'BOOL' | 'INT8' | 'INT16' | 'INT32' | 'INT64' | 'FLOAT' | 'DOUBLE' | 'VARCHAR' | 'JSON' | 'ARRAY'
    - `enable_analyzer` boolean — Whether to enable text analysis (tokenization) for BM25 search on this field.
    - `enable_dense_embedding` boolean — Whether to enable semantic (dense) embedding search on this field.
    - `enable_match` boolean — Whether to enable exact-match filtering on this field.
    - `enable_sparse_embedding` boolean — Whether to enable BM25 (sparse) embedding search on this field.
    - `max_length` integer — Maximum string length in bytes for VARCHAR fields.
    - `name` string — Field name. Immutable after database creation.

## Response `200`

OK

- HandlerMetadataSchemaUpdateResponse
  - `added_fields` string[] — Names of the metadata schema fields successfully added.
  - `database` string — Owning database. Formerly `tenant_id`; the `tenant_id` alias is still accepted (deprecated).
  - `tenant_id` string

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error

---

[API](https://skmtc.dev/hydradb/apis/hydradb-application-api.md) · [All operations](https://skmtc.dev/hydradb/apis/hydradb-application-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hydradb/hydradb-application-api/revisions/c773cb4e113a/schema)
