Atomically replace the table's primary-key column set
The engine validates the full column list as a *combination* — a composite key whose individual columns contain duplicates is accepted when the combination is unique. All metadata changes (new PK columns, demoted PK columns, isUnique sync) land in a single commit. An empty `columns` list clears the primary key. **Required scope:** `tables:modify`
Authorization
BearerAuth Security scheme for OpenAPI endpoints. Validates both JWT tokens and API keys.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to atomically replace the table's primary-key column set.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/tables/{catalog}/{schema}/{table_name}/primary-key" \ -H "Content-Type: application/json" \ -d '{ "columns": [ "string" ] }'{}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}Update column settings (uniqueness, primary key, nullable) with data validation
When enabling `isUnique`, the engine checks for duplicate non-NULL values. When enabling `isPrimaryKey`, the engine checks that the new composite key set has no duplicate combinations. When setting `isNullable` to `false`, the engine checks for existing NULL values. Disabling primary key or enabling nullable is always safe. `isUnique` on a current primary-key column is rejected unless the request also changes `isPrimaryKey` — the flag is derived from the key shape. **Required scope:** `tables:modify`
Check if an enum value is in use
Scans the table to determine whether a specific fixed-domain (enum) value is referenced by any rows. Call this before removing a domain value to avoid creating orphaned references. **Required scope:** `tables:read`