---
title: "Enable Column Synchronization"
method: POST
path: "/v2/storage/tables/{tableId}/alias-columns-auto-sync"
tags: ["Table Aliases"]
---

# Enable Column Synchronization

`POST /v2/storage/tables/{tableId}/alias-columns-auto-sync`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage/tables/{tableId}/alias-columns-auto-sync`
- Auth: one of:
  - API key in header `X-StorageApi-Token`
  - API key in header `X-KBC-ManageApiToken`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/keboola/apis/keboola-storage-api/docs/v2/storage/tables/:tableId/alias-columns-auto-sync/post.ts> (a function with typed inputs; its response is checked against the schema)

Enables automatic column synchronization between the alias and source table. All columns from the source table will be immediately synchronized into the alias table and kept in sync on later source column changes. The persisted alias VIEW is recreated when the backend uses one.

## Path parameters

- `tableId` string, required

## Response `204`

Alias columns auto-sync enabled.

## Other responses

- `400`: The table is not a simple alias (`storage.tables.aliasColumnsAutoSyncNotAllowed`), or its bucket is exposed on Snowflake and the alias reads a linked or external bucket (`storage.tables.aliasSourceOutsideProjectInExposedBucket`).
- `403`: Access denied.
- `404`: The table or its bucket was not found (`storage.tables.notFound`, `storage.buckets.notFound`).
- `409`: Another operation holds the alias lock (`core.lock.lockIsAlreadyUsed`); retry.
- `503`: The bucket or its backend is under maintenance.

---

[API](https://skmtc.dev/keboola/apis/keboola-storage-api.md) - [All operations](https://skmtc.dev/keboola/apis/keboola-storage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/keboola/apis/keboola-storage-api/revisions/34b5ceac0317?raw)
