---
title: "Update field"
method: PATCH
path: "/api/v3/meta/bases/{baseId}/fields/{fieldId}"
tags: ["Fields"]
---

# Update field

`PATCH /api/v3/meta/bases/{baseId}/fields/{fieldId}`

## Request

- Base URL: `https://app.nocodb.com`
- URL: `https://app.nocodb.com/api/v3/meta/bases/{baseId}/fields/{fieldId}`
- Auth: one of:
  - API key in header `xc-token`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/nocodb/apis/nocodb-v3/docs/api/v3/meta/bases/:baseId/fields/:fieldId/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update the details of a specific field.

## Path parameters

- `baseId` string, required
- `fieldId` string, required

## Request body

- union
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'LongText': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsLongText
      - `rich_text` boolean: Enable rich text formatting.
      - `generate_text_using_ai` boolean: Enable text generation for this field using NocoAI.
      - `smart_mode` boolean: Enable smart text mode.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'PhoneNumber' | 'URL' | 'Email': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsPhoneNumber
      - `validate` boolean: Enable validation for phone numbers.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Number' | 'Decimal': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsNumber
      - `abbreviate` 'none' | 'auto' | 'thousand' | 'million' | 'billion' | 'trillion': Large number abbreviation for display (1.2K, 3.4M). `auto` picks the unit by magnitude; `none` shows the full number. Defaults to `none`.
      - `separator` 'locale' | 'none_period' | 'none_comma' | 'comma_period' | 'period_comma' | 'space_period' | 'space_comma': Thousand/decimal separator style. `locale` uses the runtime locale, `none_period` / `none_comma` disable thousand grouping.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'JSON': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Currency': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsCurrency: Currency settings for this column. `currency_locale` defaults to `en-US` and `currency_code` defaults to `USD`
      - `abbreviate` 'none' | 'auto' | 'thousand' | 'million' | 'billion' | 'trillion': Large number abbreviation for display (1.2K, 3.4M). `auto` picks the unit by magnitude; `none` shows the full number. Defaults to `none`.
      - `currency_locale` string: Locale for currency formatting. Refer https://simplelocalize.io/data/locales/
      - `precision` number: Number of decimal places. Defaults to 2.
      - `currency_code` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CYP' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EEK' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHC' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MTL' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'ROL' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDD' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SIT' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMM' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VEB' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XFO' | 'XFU' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMK' | 'ZMW' | 'ZWD' | 'ZWG' | 'ZWL': Currency code (ISO 4217). Refer https://simplelocalize.io/data/locales/. Withdrawn codes such as BYR or GHC are still accepted so existing columns keep validating.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Percent': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsPercent
      - `show_as_progress` boolean: Display as a progress bar.
      - `shape` 'bar' | 'circle': Progress bar shape. Only applies when `show_as_progress` is enabled. - `bar` (default) - `circle`
      - `precision` number: Number of decimal places. Defaults to 2.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Duration': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsDuration
      - `duration_format` 'h:mm' | 'h:mm:ss' | 'h:mm:ss.s' | 'h:mm:ss.ss' | 'h:mm:ss.sss' | 'd h' | 'd h:mm' | 'd h:mm:ss' | 'd h m' | 'd h m s' | 'h:mm:ss.S' | 'h:mm:ss.SS' | 'h:mm:ss.SSS': Duration format. - `h:mm` - `h:mm:ss` - `h:mm:ss.s` - `h:mm:ss.ss` - `h:mm:ss.sss` - `d h` - `d h:mm` - `d h:mm:ss` - `d h m` - `d h m s` `h:mm:ss.S`, `h:mm:ss.SS` and `h:mm:ss.SSS` are accepted as aliases of the lowercase forms, which earlier revisions of this document named instead.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Date' | 'DateTime' | 'Time': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsDateTime
      - `date_format` string: Date format. Supported options are listed below - `YYYY/MM/DD` - `YYYY-MM-DD` - `YYYY MM DD` - `DD/MM/YYYY` - `DD-MM-YYYY` - `DD MM YYYY` - `MM/DD/YYYY` - `MM-DD-YYYY` - `MM DD YYYY` - `YYYY-MM` - `YYYY MM` - `dddd YYYY-MM-DD` - `ddd YYYY-MM-DD` - `dddd DD/MM/YYYY` - `ddd DD/MM/YYYY` - `dddd MM/DD/YYYY` - `ddd MM/DD/YYYY`
      - `time_format` string: Time format. Supported options are listed below - `HH:mm` - `HH:mm:ss` - `HH:mm:ss.SSS`
      - `12hr_format` boolean: Use 12-hour time format.
      - `display_timezone` boolean: Display timezone.
      - `timezone` string: Timezone. Refer to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      - `use_same_timezone_for_all` boolean: Use same timezone for all records.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'SingleSelect' | 'MultiSelect': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsSelect
      - `choices` object[]
        - `id` string: Stable identifier for the choice. Returned on reads; pass it back unchanged on update so the choice and the records referencing it are preserved.
        - `title` string, required: Choice title.
        - `color` string: Specifies the tile color for the choice using a hexadecimal color code (e.g., `#36BFFF`).
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Checkbox': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsCheckbox
      - `icon` 'square' | 'circle-check' | 'circle-filled' | 'star' | 'heart' | 'thumbs-up' | 'flag': Icon to display checkbox on the UI. Supported options are listed below - `square` - `circle-check` - `circle-filled` - `star` - `heart` - `thumbs-up` - `flag`
      - `color` string: Specifies icon color using a hexadecimal color code (e.g., `#36BFFF`). 3-, 6- and 8-digit (with alpha) forms are accepted.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Rating': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsRating
      - `icon` 'star' | 'heart' | 'circle-filled' | 'thumbs-up' | 'flag': Icon to display rating on the UI. Supported options are listed below - `star` - `heart` - `circle-filled` - `thumbs-up` - `flag`
      - `max_value` integer: Maximum value for the rating. Allowed range: 1-10.
      - `color` string: Specifies icon color using a hexadecimal color code (e.g., `#36BFFF`). 3-, 6- and 8-digit (with alpha) forms are accepted.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Barcode': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsBarcode
      - `barcode_format` string: Barcode format (e.g., CODE128).
      - `barcode_value_field_id` string: Field ID that contains the value.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Formula': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsFormula
      - `formula` string: Formula expression. Numeric results are returned as raw floating-point values (e.g. `468.90000000000003`), not rounded; wrap the expression in `ROUND()` for a fixed number of decimals.
      - `display_type` string, nullable: Field type the formula result is rendered as. Null renders the raw result.
      - `display_column_meta` object: Options for the `display_type` field, nested as `{meta: {...}, custom: {}}`, e.g. `{meta: {currency_code: 'USD'}, custom: {}}`. Flat options are nested on write.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'User': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsUser
      - `allow_multiple_users` boolean: Allow selecting multiple users.
      - `notify` boolean: Notify the user when they are assigned to a record.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Lookup': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsLookup
      - `related_field_id` string, required: Linked field ID. Can be of type Links or LinkToAnotherRecord
      - `related_table_lookup_field_id` string, required: Lookup field ID in the linked table.
      - `error` string: Error message recorded by the server when a field this one depends on is deleted. Server-maintained and never returned by v3 reads.
      - `enable_conditions` boolean: Apply the linked field's filters when resolving the lookup.
      - `lookup_limit` integer, nullable: Show only the first N linked records in this lookup (N = this number); `lookup_limit_type: 'last'` shows the last N instead. `null` or `0` removes the limit. PostgreSQL bases only (other databases reject it with a 400), and requires a plan with lookup sort and limit (otherwise the write is rejected naming that plan feature).
      - `lookup_limit_type` 'first' | 'last': Which end of the linked records `lookup_limit` keeps. Defaults to `first`. Only meaningful with `lookup_limit`.
      - `use_recursive_evaluation` boolean: Resolve lookups of lookups recursively.
      - `display_type` string, nullable: Field type the looked-up value is rendered as. Null renders the raw value.
      - `display_column_meta` object: Options for the `display_type` field, nested as `{meta: {...}, custom: {}}`, e.g. `{meta: {currency_code: 'USD'}, custom: {}}`. Flat options are nested on write.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Links': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsLinks: Creates a relation between two tables, stored with field type `Links`. `LinkToAnotherRecord` accepts the same options and creates the same kind of relation; for `relation_type: oo` the choice decides the underlying implementation (`Links` the foreign-key form, `LinkToAnotherRecord` the junction-table form). Neither type is deprecated.
      - `relation_type` 'om' | 'mo' | 'mm' | 'oo' | 'hm' | 'bt', required: Type of relationship: `om` one-to-many, `mo` many-to-one, `mm` many-to-many, `oo` one-to-one, `hm` has-many, `bt` belongs-to. Normalised on create: when the link is backed by a junction table `hm` is stored as `om` and `bt` as `mo`, and `oo` is always stored as a `LinkToAnotherRecord` field, so a read may report a different field type than the one requested.
      - `related_table_id` string, required: Identifier of the linked table.
      - `related_base_id` string: Identifier of the base the linked table belongs to, for a link to a table in another base of the same workspace. Omit it for a link within this base. Read back only on a cross-base link.
      - `enable_conditions` boolean: Apply the link's configured filters when resolving linked records.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'LinkToAnotherRecord': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsLinkToAnotherRecord: Creates a relation between two tables, stored with field type `LinkToAnotherRecord`. `Links` accepts the same options and creates the same kind of relation; for `relation_type: oo` the choice decides the underlying implementation (`Links` the foreign-key form, `LinkToAnotherRecord` the junction-table form). Neither type is deprecated.
      - `relation_type` 'om' | 'mo' | 'mm' | 'oo' | 'hm' | 'bt', required: Type of relationship: `om` one-to-many, `mo` many-to-one, `mm` many-to-many, `oo` one-to-one, `hm` has-many, `bt` belongs-to. Normalised on create: when the link is backed by a junction table `hm` is stored as `om` and `bt` as `mo`, and `oo` is always stored as a `LinkToAnotherRecord` field, so a read may report a different field type than the one requested.
      - `related_table_id` string, required: Identifier of the linked table.
      - `related_base_id` string: Identifier of the base the linked table belongs to, for a link to a table in another base of the same workspace. Omit it for a link within this base. Read back only on a cross-base link.
      - `enable_conditions` boolean: Apply the link's configured filters when resolving linked records.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Rollup': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsRollup: Plain rollups take no `display_type`. Numeric formatting is `precision` and `separator`; currency and percent come from the rolled-up field (a Currency or Percent field, or the `display_type` of a Formula or Lookup it reads). A formula rollup (`rollup_function` `formula`) can instead set `display_type` and `display_column_meta` to render its result as another field type.
      - `related_field_id` string, required: Linked field ID.
      - `related_table_rollup_field_id` string, required: Rollup field ID in the linked table.
      - `rollup_function` 'count' | 'countAll' | 'min' | 'max' | 'avg' | 'sum' | 'countDistinct' | 'sumDistinct' | 'avgDistinct' | 'formula', required: Rollup function. The accepted set depends on the target field's type — date-like targets take only `count`, `countAll`, `min`, `max` and `countDistinct`, numeric targets additionally take `sum`, `avg`, `sumDistinct` and `avgDistinct`. A function outside the target's set is rejected with `400`. `count` counts linked records whose target value is not empty; `countAll` counts every linked record. With no linked records (or only empty values), `sum` and the count functions return `0`, while `avg`, `min` and `max` return `null`. `formula` aggregates with `formula` instead, for any target type.
      - `formula` string: Required when `rollup_function` is `formula`: an expression over `values`, the linked records' values of the rollup field — e.g. `ROUND(SUM(values) * 1.1, 2)` or `ARRAYJOIN(ARRAYUNIQUE(values), "; ")`. Aggregates: SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTALL, AND, OR, XOR, CONCATENATE, ARRAYJOIN; set modifiers: ARRAYUNIQUE, ARRAYCOMPACT, ARRAYSLICE, ARRAYFLATTEN.
      - `error` string: Error message recorded by the server when a field this one depends on is deleted. Server-maintained and never returned by v3 reads.
      - `precision` number: Number of decimal places for numeric rollups. Defaults to 0; a formula rollup defaults to the digits of an outer ROUND, else 0 for a whole-number result and 2 otherwise. Display-only: the API returns the unrounded value.
      - `display_type` string, nullable: Formula rollups only: field type the result is rendered as (e.g. `Currency`, `Percent`, `Date`). Null renders the raw result.
      - `display_column_meta` object: Formula rollups only: field options applied to the rendered result, shaped like the `display_type` field's own options.
      - `enable_conditions` boolean: Apply the linked field's filters when computing the rollup.
      - `separator` 'locale' | 'none_period' | 'none_comma' | 'comma_period' | 'period_comma' | 'space_period' | 'space_comma': Thousand/decimal separator style for numeric rollups. `locale` uses the runtime locale, `none_period` / `none_comma` disable thousand grouping.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Button': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` union
      - object
        - `type` 'formula', required: Button type: formula
        - `formula` string, required: Formula to execute
        - `label` string: Label of the button
        - `icon` string: Icon of the button
        - `color` 'brand' | 'red' | 'green' | 'maroon' | 'blue' | 'orange' | 'pink' | 'purple' | 'yellow' | 'gray': Color of the button
        - `theme` 'solid' | 'light' | 'text': Theme of the button
      - object
        - `type` 'webhook', required: Button type: webhook
        - `webhook_id` string, required: ID of the webhook to trigger
        - `button_hook_id` string: Deprecated alias of `webhook_id`, accepted on write and normalised to it. Responses always use `webhook_id`.
        - `label` string: Label of the button
        - `icon` string: Icon of the button
        - `color` 'brand' | 'red' | 'green' | 'maroon' | 'blue' | 'orange' | 'pink' | 'purple' | 'yellow' | 'gray': Color of the button
        - `theme` 'solid' | 'light' | 'text': Theme of the button
      - object
        - `type` 'ai', required: Button type: AI
        - `prompt` string, required: AI prompt to execute
        - `integration_id` string, required: Integration ID for AI service
        - `theme` 'solid' | 'light' | 'text': Theme of the button
        - `output_column_ids` string: IDs of columns where AI output should be stored
        - `label` string: Label of the button
        - `icon` string: Icon of the button
        - `color` 'brand' | 'red' | 'green' | 'maroon' | 'blue' | 'orange' | 'pink' | 'purple' | 'yellow' | 'gray': Color of the button
      - object
        - `type` 'script', required: Button type: script
        - `script_id` string, required: ID of the script to trigger
        - `label` string: Label of the button
        - `icon` string: Icon of the button
        - `color` 'brand' | 'red' | 'green' | 'maroon' | 'blue' | 'orange' | 'pink' | 'purple' | 'yellow' | 'gray': Color of the button
        - `theme` 'solid' | 'light' | 'text': Theme of the button
      - object
        - `type` 'url', required: Button type: url
        - `formula` string, required: Formula that produces the URL to open
        - `label` string: Label of the button
        - `icon` string: Icon of the button
        - `color` 'brand' | 'red' | 'green' | 'maroon' | 'blue' | 'orange' | 'pink' | 'purple' | 'yellow' | 'gray': Color of the button
        - `theme` 'solid' | 'light' | 'text': Theme of the button
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Attachment': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsAttachment
      - `max_number_of_attachments` integer: Maximum number of files per cell. Cannot raise the cap above the workspace plan's per-cell attachment limit (10 on the free plan), which still applies.
      - `max_attachment_size` integer: Maximum size per file, in megabytes.
      - `supported_attachment_mime_types` string[]: Allowed MIME types. `*` allows everything.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'QrCode': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsQrCode
      - `qrcode_value_field_id` string: Field ID that contains the value.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'CreatedTime' | 'LastModifiedTime': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsDateTime
      - `date_format` string: Date format. Supported options are listed below - `YYYY/MM/DD` - `YYYY-MM-DD` - `YYYY MM DD` - `DD/MM/YYYY` - `DD-MM-YYYY` - `DD MM YYYY` - `MM/DD/YYYY` - `MM-DD-YYYY` - `MM DD YYYY` - `YYYY-MM` - `YYYY MM` - `dddd YYYY-MM-DD` - `ddd YYYY-MM-DD` - `dddd DD/MM/YYYY` - `ddd DD/MM/YYYY` - `dddd MM/DD/YYYY` - `ddd MM/DD/YYYY`
      - `time_format` string: Time format. Supported options are listed below - `HH:mm` - `HH:mm:ss` - `HH:mm:ss.SSS`
      - `12hr_format` boolean: Use 12-hour time format.
      - `display_timezone` boolean: Display timezone.
      - `timezone` string: Timezone. Refer to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      - `use_same_timezone_for_all` boolean: Use same timezone for all records.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'CreatedBy': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsCreatedBy
      - `allow_multiple_users` boolean: Allow selecting multiple users.
      - `notify` boolean: Notify the user when they are assigned to a record.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'LastModifiedBy': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time
    - `options` FieldOptionsLastModifiedBy
      - `allow_multiple_users` boolean: Allow selecting multiple users.
      - `notify` boolean: Notify the user when they are assigned to a record.
  - object
    - `id` string: Unique identifier for the field.
    - `title` string: Title of the field.
    - `type` 'Geometry' | 'Year' | 'AutoNumber': Field data type. Read responses additionally return `ID` for a table's auto-generated primary-key field; `ID` cannot be used when creating or updating a field.
    - `description` string, nullable: Description of the field.
    - `default_value` union: Default value for the field. Applicable for SingleLineText, LongText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Duration, Date, DateTime, Time, SingleSelect, MultiSelect, Rating, Checkbox, User and JSON fields. A MultiSelect default holding several choices is given as a single comma-separated string of choice titles.
      - string
      - boolean
      - number
    - `unique` boolean: Enable unique constraint for the field. When enabled, the field will only accept unique values (no duplicates allowed). Note: Unique constraint is only supported for NC-DB (not external databases) and is mutually exclusive with default values. Supported field types: SingleLineText, PhoneNumber, URL, Email, Number, Decimal, Currency, Percent, Date, DateTime and Time

## Other responses

- `400`: Invalid request body.
- `500`: Server error.

## Changes

- **2026-11-06** `62a735aaf849`: 8 breaking, 2 warning, 18 info
  - removed `subschema #19, subschema #21` from the `allOf[subschema #2]/` request property `anyOf` list
  - the `allOf[subschema #2]/anyOf[subschema #16: Lookup]/options/lookup_limit` request property type changed from `number` to `integer, null`
  - the response property `allOf[#/components/schemas/CreateField]/allOf[subschema #1]/oneOf[subschema #23: Lookup]/options/lookup_limit` became nullable for the status `200`
  - the `allOf[#/components/schemas/CreateField]/allOf[subschema #1]/oneOf[subschema #24: Rollup]/options/precision` response property's max was increased from `5.00` to `8.00` for the response status `200`
  - …24 more
- **2026-10-16** `723d71101e62`: 1 warning, 1 info
  - added the new `countAll` enum value to the `allOf[#/components/schemas/CreateField]/allOf[subschema #1]/oneOf[subschema #24: Rollup]/options/rollup_function` response property for the response status `200`
  - added the new `countAll` enum value to the request property `allOf[subschema #2]/anyOf[subschema #19]/options/rollup_function`
- …earlier changes not shown

[Operation history](https://skmtc.dev/nocodb/apis/nocodb-v3/changes/api/v3/meta/bases/:baseId/fields/:fieldId/patch.md)

---

[API](https://skmtc.dev/nocodb/apis/nocodb-v3.md) - [All operations](https://skmtc.dev/nocodb/apis/nocodb-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/nocodb/apis/nocodb-v3/revisions/62a735aaf849?raw)
