---
title: "Update Table Field"
method: PUT
path: "/databases/{databaseId}/tables/{tableId}/fields/{fieldId}"
tags: ["Table Fields"]
---

# Update Table Field

`PUT /databases/{databaseId}/tables/{tableId}/fields/{fieldId}`

Update the properties of a specific field.

## Request body

- object
  - `name` string
  - `type` string
  - `options` object

## Response `200`

The updated field.

- object
  - `data` TableField
    - `id` string
    - `name` string
    - `description` string, nullable — Optional description of the field.
    - `type` 'SINGLE_LINE_TEXT' | 'CHECKBOX' | 'CURRENCY' | 'DATE' | 'DATETIME' | 'DURATION' | 'EMAIL' | 'SELECT' | 'NUMBER' | 'ATTACHMENT' | 'RATING' | 'LINKED_RECORD' | 'LONG_TEXT' | 'URL' | 'PERCENT' | 'PHONE' | 'LOOKUP' | 'ROLLUP' | 'FORMULA' | 'CREATED_AT' | 'UPDATED_AT' | 'CREATED_BY' | 'UPDATED_BY' | 'AUTONUMBER' | 'RECORD_ID' | 'USER' — The type of the field.
    - `options` object — Configuration options for the field, specific to its type. See the official documentation for the structure of each type.
    - `allowMultipleEntries` boolean
    - `readonly` boolean
    - `required` boolean
    - `locked` boolean
    - `defaultValue` string, nullable
    - `aiOptions` object, nullable — AI-powered auto-fill configuration. Null if not configured.
      - `aiFillable` boolean
      - `aiOnly` boolean
      - `allowWebSearch` boolean
      - `aiModel` string
      - `prompt` string
      - `canBeTriggeredManually` boolean
      - `runWhenRecordIsCreated` boolean
      - `runWhenRecordIsUpdated` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/softr/apis/softr-database-api.md) · [All operations](https://skmtc.net/softr/apis/softr-database-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/softr/softr-database-api/versions/c79eeba23ce3/schema)
