---
title: "Switch one table to another storage engine"
method: POST
path: "/api/clusters/{clusterName}/schema/{schemaName}/{tableName}/actions/alter-engine/{engine}"
tags: ["ClusterActions"]
---

# Switch one table to another storage engine

`POST /api/clusters/{clusterName}/schema/{schemaName}/{tableName}/actions/alter-engine/{engine}`

## Request

- The document declares no server URL.
- Auth: none declared. Required headers: `Authorization`

Plans (confirm false) or runs (confirm true) ALTER TABLE schemaName.tableName ENGINE=engine on the master, binlog on, the replicas follow. Refused when the engine is not available on the master or the table has a foreign key and the engine is not InnoDB. Runs in the background: CINF0015, WARN0240 on a stop. Needs db-optimize.

## Path parameters

- `clusterName` string, required
- `schemaName` string, required
- `tableName` string, required
- `engine` string, required

## Headers

- `Authorization` string, required

## Request body

- ServerEngineSwitchTableRequest
  - `confirm` boolean

## Response `200`

The plan (confirm false)

- ClusterEngineSwitchPlan
  - `cluster` string
  - `engineFrom` string
  - `engineTo` string
  - `notes` string[]
  - `schema` string
  - `server` string
  - `skipped` ClusterEngineSwitchTable[]
    - `bytes` integer: data + indexes, as information_schema reports them
    - `engine` string
    - `foreignKey` boolean: a foreign key references this table or is declared on it
    - `reason` string
    - `schema` string
    - `table` string
  - `tables` ClusterEngineSwitchTable[]
    - `bytes` integer: data + indexes, as information_schema reports them
    - `engine` string
    - `foreignKey` boolean: a foreign key references this table or is declared on it
    - `reason` string
    - `schema` string
    - `table` string
  - `totalBytes` integer

## Other responses

- `202`: Switch started (confirm true)
- `400`: Refused: the reason
- `403`: No valid ACL
- `404`: No cluster

## Changes

- **2026-10-12** `218457e8f748`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/changes/api/clusters/:clusterName/schema/:schemaName/:tableName/actions/alter-engine/:engine/post.md)

---

[API](https://skmtc.dev/signal18/apis/signal-18-dashboard-api.md) - [All operations](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/revisions/8ee8a1e31294?raw)
