---
title: "Create Index on Table Column"
method: POST
path: "/v1/table/{table_id}/indexes"
tags: ["Table"]
---

# Create Index on Table Column

`POST /v1/table/{table_id}/indexes`

Create an index on one or more columns of a table to improve query performance.

## Path parameters

- `table_id` string, uuid, required

## Request body

- CreateTableIndexes
  - `columns` TableColumnIndex[], required
    - `publicId` string, uuid, required

## Response `200`

Successfully created indexes on the specified columns.

- object
  - `metadata` object
  - `data` TableColumn[]
    - `publicId` string, uuid
    - `name` string
    - `kind` 'text' | 'datetime' | 'date' | 'link' | 'multilink' | 'select' | 'multiselect' | 'integer' | 'float' | 'percentage' | 'tag' | 'variable' | 'attachment' | 'phone' | 'email' | 'vote' | 'checkbox' | 'duration'
    - `width` integer
    - `description` union
      - object, nullable
      - Draftjs
        - `content` DraftjsContent, required
          - `blocks` DraftjsBlock[], required
            - `data` object, required
            - `depth` integer, required
            - `entityRanges` DraftjsEntityRange[], required
              - …
            - `inlineStyleRanges` DraftjsInlineStyleRange[], required
              - …
            - `key` string, required
            - `text` string, required
            - `type` string, required
          - `entityMap` object, required
    - `kindOptions` SelectOptionsLookup
      - `tableOptions` SelectTableOptions
        - `columnId` string
        - `tableId` string
        - `viewId` string
        - `dependencies` SelectTableDependency[], nullable
          - `columnId` string, required
          - `columnJoinId` string, nullable
        - `liveValues` boolean
      - `manualOptions` string[]
      - `autopopulate` boolean
    - `alterOptions` union
      - TableColumnAlter
        - `dateConversionFormat` 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'ISO8601' | 'DD-Mon-YY'
        - `runScriptOnAllCells` boolean
      - object, nullable
    - `isIndexed` boolean
    - `script` string, nullable
    - `scriptEnabled` boolean
    - `formula` string, nullable
    - `formulaEnabled` boolean
    - `aggregate` integer
    - `isJoined` boolean, nullable
    - `thousandSeparator` boolean
    - `displayLink` boolean
    - `decimalPlaces` integer
    - `dateFormat` string, nullable
    - `headerBackgroundColor` string, nullable
    - `headerTextColor` string, nullable
    - `exportWidth` integer, nullable
    - `isSynced` boolean

## Other responses

- `403` — Unauthorized action - User lacks necessary permissions.
- `404` — Table or column not found.

---

[API](https://skmtc.net/morta-technology/apis/morta-api-reference.md) · [All operations](https://skmtc.net/morta-technology/apis/morta-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/morta-technology/morta-api-reference/versions/9c58c1c1e7e8/schema)
