---
title: "Update view"
method: PATCH
path: "/api/v3/meta/bases/{baseId}/views/{viewId}"
tags: ["Views"]
---

# Update view

`PATCH /api/v3/meta/bases/{baseId}/views/{viewId}`

## Request

- Base URL: `https://app.nocodb.com`
- URL: `https://app.nocodb.com/api/v3/meta/bases/{baseId}/views/{viewId}`
- 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/views/:viewId/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update the details of a specific view. The request body should contain the fields to be updated. Fields not included in the request body will remain unchanged. Fields included will overwrite the existing values. There is no provision for partial updates of fields, sort or filter using this PATCH request.

**Note**: View APIs are available on cloud-hosted **Enterprise** plans, and on licensed self-hosted deployments (**Business** plan and above).

## Path parameters

- `baseId` string, required
- `viewId` string, required

## Request body

- union
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'grid'
    - `options` ViewOptionsGrid
      - `groups` object[]: List of groups to be applied on the grid view. At most five grouping levels are supported.
        - `field_id` string, required: Identifier for the field being sorted.
        - `direction` 'asc' | 'desc': Direction of the group, either 'asc' (ascending) or 'desc' (descending).
      - `row_height` 'short' | 'medium' | 'tall' | 'extra': Height of the rows in the grid view.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'gallery'
    - `options` ViewOptionsGallery
      - `cover_field_id` string: Attachment field ID to be used as cover image in gallery view. Is optional, if not provided, the first attachment field will be used.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'kanban'
    - `options` ViewOptionsKanban
      - `stack_by` object, required
        - `field_id` string, required: Single select field ID to be used for stacking cards in kanban view.
        - `stack_order` string[]: Order of the stacks in kanban view. If not provided, the order will be determined by options listed in associated field. Example: ```stack_order: ['option1', 'option2', 'option3']```
      - `cover_field_id` string: Attachment field ID to be used as cover image in kanban view. If not provided, cover field configuration is skipped.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'calendar'
    - `options` ViewOptionsCalendar
      - `date_ranges` object[], required
        - `start_date_field_id` string, required: Date field ID to be used as start date in calendar view.
        - `end_date_field_id` string: Date field ID to be used as end date in calendar view.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'timeline'
    - `options` ViewOptionsTimeline: Timeline view configuration. A timeline may have multiple date ranges (e.g. "planned" vs "actual"); each range has a required start field and an optional end field.
      - `date_ranges` object[]
        - `start_date_field_id` string, required: Field ID of the start date column.
        - `end_date_field_id` string, nullable: Field ID of the end date column. Null means the range is a single point in time.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'gantt'
    - `options` ViewOptionsGantt: Gantt view configuration. Bundles the per-view DateDependency rule with presentation settings stored on the view's meta JSON.
      - `date_dependency` DateDependency: Date dependency rule for a gantt view. Top-level properties are all optional; supplying a child object (`dates`, `dependency`) commits to providing every property inside it.
        - `dates` object: Date column pair. Atomic — supply both or omit the block entirely.
          - `start_field_id` string, required: Field ID of the start date column.
          - `end_field_id` string, required: Field ID of the end date column.
        - `duration_field_id` string, nullable: Optional standalone duration field; independent of the `dates` block.
        - `dependency` object: Predecessor/successor link configuration. Atomic — supply all five properties or omit the block entirely.
          - `linkrow_field_id` string, required: Link-to-another-record field that connects predecessor/successor records.
          - `linkrow_role` 'predecessors' | 'successors', required
          - `connection_type` 'end-to-start' | 'end-to-end' | 'start-to-end' | 'start-to-start', required
          - `buffer_type` 'flexible' | 'fixed' | 'none', required
          - `buffer_days` integer, required: Buffer in days. Meaningful when `buffer_type` is `fixed`; pass 0 when buffer_type is `flexible` or `none`.
        - `include_weekends` boolean
        - `is_active` boolean: Soft-disable the rule without deleting it.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'map'
    - `options` ViewOptionsMap
      - `geo_data_field_id` string: Field ID of the GeoData column plotted on the map.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - object
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
          - string
          - number
          - boolean
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - object
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - Filter
              - …
            - FilterGroup
              - …
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'form'
    - `options` ViewOptionsForm
      - `form_title` string: Heading for the form.
      - `form_description` string: Subheading for the form.
      - `thank_you_message` string: Success message shown after form submission.
      - `form_redirect_after_secs` integer: Seconds to wait before redirecting.
      - `show_submit_another_button` boolean: Whether to show another form after submission.
      - `reset_form_after_submit` boolean: Whether to show a blank form after submission.
      - `save_draft_to_browser` boolean: Whether a shared form keeps unsubmitted answers in the visitor's browser across refreshes. Set false to reset fields to their defaults on refresh.
      - `form_hide_banner` boolean: Whether to hide the banner on the form.
      - `form_hide_branding` boolean: Whether to hide branding on the form.
      - `banner` union: Banner image for the form. A bare URL string is accepted and normalized into an attachment object.
        - string, uri
        - FormImage: An image attached to a form (banner or logo).
          - `url` string, uri: Publicly reachable image URL.
          - `path` string: Storage path, for images already uploaded to this instance.
          - `title` string: Display title.
          - `mimetype` string: MIME type of the image.
          - `size` number: Size in bytes.
          - `icon` string: Icon name shown in place of a thumbnail.
          - `signedUrl` string: Read-only. Signed URL generated on read; ignored on write.
          - `signedPath` string: Read-only. Signed path generated on read; ignored on write.
      - `logo` union: Logo for the form. A bare URL string is accepted and normalized into an attachment object.
        - string, uri
        - FormImage: An image attached to a form (banner or logo).
          - `url` string, uri: Publicly reachable image URL.
          - `path` string: Storage path, for images already uploaded to this instance.
          - `title` string: Display title.
          - `mimetype` string: MIME type of the image.
          - `size` number: Size in bytes.
          - `icon` string: Icon name shown in place of a thumbnail.
          - `signedUrl` string: Read-only. Signed URL generated on read; ignored on write.
          - `signedPath` string: Read-only. Signed path generated on read; ignored on write.
      - `form_background_color` string: Background color for the form. 3-, 6- and 8-digit (with alpha) forms are accepted.
      - `redirect_url` string, uri: URL to redirect to after form submission.
      - `submit_button_label` string: Custom label for the submit button.
      - `send_response_email_to` string: Email address to send form responses to.
      - `fields_by_id` object: Per-field form configuration keyed by field_id.
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
  - object
    - `title` string: Title of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `type` 'list'
    - `options` ViewOptionsList: List view configuration. Records are organised into a hierarchy of levels; each level is a table linked to its parent through a link field.
      - `levels` object[]: Ordered levels of the list. Level 1 is the root table; deeper levels connect to their parent via link_field_id.
        - `level` number, required: 1-based depth of this level (1 = root).
        - `table_id` string, required: Table shown at this level.
        - `link_field_id` string, nullable: Link field connecting this level to its parent. Omitted/null for the root level.
        - `filters` union
          - object
            - `id` string: Unique identifier for the filter.
            - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
            - `field_id` string, required: Field ID to which this filter applies.
            - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
            - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
            - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
              - …
            - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
          - object
            - `group_operator` 'AND' | 'OR', required: Logical operator for the group.
            - `filters` union[], required: List of filters or nested filter groups at level 2.
              - …
        - `sorts` SortCreate[]: Sorts applied at this level.
          - `field_id` string, required: Identifier for the field being sorted.
          - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
          - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
        - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
          - `field_id` string, required: Unique identifier for the field.
          - `show` boolean, required: Indicates whether the field should be displayed in the view.
          - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
          - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
      - `show_empty_parents` boolean: Show parent rows that have no child records.
      - `row_height` 'short' | 'medium' | 'tall' | 'extra': Height of the rows in the list view.

## Response `200`

View meta updated.

- union
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'grid', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsGrid
      - `groups` object[]: List of groups to be applied on the grid view. At most five grouping levels are supported.
        - `field_id` string, required: Identifier for the field being sorted.
        - `direction` 'asc' | 'desc': Direction of the group, either 'asc' (ascending) or 'desc' (descending).
      - `row_height` 'short' | 'medium' | 'tall' | 'extra': Height of the rows in the grid view.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'gallery', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsGallery
      - `cover_field_id` string: Attachment field ID to be used as cover image in gallery view. Is optional, if not provided, the first attachment field will be used.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'kanban', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsKanban, required
      - `stack_by` object, required
        - `field_id` string, required: Single select field ID to be used for stacking cards in kanban view.
        - `stack_order` string[]: Order of the stacks in kanban view. If not provided, the order will be determined by options listed in associated field. Example: ```stack_order: ['option1', 'option2', 'option3']```
      - `cover_field_id` string: Attachment field ID to be used as cover image in kanban view. If not provided, cover field configuration is skipped.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'calendar', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsCalendar, required
      - `date_ranges` object[], required
        - `start_date_field_id` string, required: Date field ID to be used as start date in calendar view.
        - `end_date_field_id` string: Date field ID to be used as end date in calendar view.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'timeline', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsTimeline, required: Timeline view configuration. A timeline may have multiple date ranges (e.g. "planned" vs "actual"); each range has a required start field and an optional end field.
      - `date_ranges` object[]
        - `start_date_field_id` string, required: Field ID of the start date column.
        - `end_date_field_id` string, nullable: Field ID of the end date column. Null means the range is a single point in time.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'gantt', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsGantt: Gantt view configuration. Bundles the per-view DateDependency rule with presentation settings stored on the view's meta JSON.
      - `date_dependency` DateDependency: Date dependency rule for a gantt view. Top-level properties are all optional; supplying a child object (`dates`, `dependency`) commits to providing every property inside it.
        - `dates` object: Date column pair. Atomic — supply both or omit the block entirely.
          - `start_field_id` string, required: Field ID of the start date column.
          - `end_field_id` string, required: Field ID of the end date column.
        - `duration_field_id` string, nullable: Optional standalone duration field; independent of the `dates` block.
        - `dependency` object: Predecessor/successor link configuration. Atomic — supply all five properties or omit the block entirely.
          - `linkrow_field_id` string, required: Link-to-another-record field that connects predecessor/successor records.
          - `linkrow_role` 'predecessors' | 'successors', required
          - `connection_type` 'end-to-start' | 'end-to-end' | 'start-to-end' | 'start-to-start', required
          - `buffer_type` 'flexible' | 'fixed' | 'none', required
          - `buffer_days` integer, required: Buffer in days. Meaningful when `buffer_type` is `fixed`; pass 0 when buffer_type is `flexible` or `none`.
        - `include_weekends` boolean
        - `is_active` boolean: Soft-disable the rule without deleting it.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'map', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsMap
      - `geo_data_field_id` string: Field ID of the GeoData column plotted on the map.
    - `sorts` SortCreate[]: List of sorts to be applied to the view.
      - `field_id` string, required: Identifier for the field being sorted.
      - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
      - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
    - `filters` union
      - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
        - `id` string: Unique identifier for the filter.
        - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
        - `field_id` string, required: Field ID to which this filter applies.
        - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
        - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
        - `value` string, nullable: Value for comparison, always returned as a string: a filter created with `100` reads back as `"100"`, and `true` as `"true"`.
        - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
      - FilterGroupResponse: A filter group as returned by the API. Nested filters are `FilterResponse`, so their `value` is always a string (or `null`).
        - `id` string, required: Unique identifier for the group.
        - `parent_id` string: Parent ID of this filter-group.
        - `group_operator` 'AND' | 'OR', required: Logical operator for combining filters in the group.
        - `enabled` boolean: Whether the group is switched on. A switched-off group is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated group comes back switched on.
        - `filters` union[], required: Nested filters or filter groups.
          - union
            - FilterResponse: A filter as returned by the API. Same shape as `Filter`, except that `value` always comes back as a string (or `null`).
              - …
            - FilterGroupResponse (recursive)
    - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
      - `field_id` string, required: Unique identifier for the field.
      - `show` boolean, required: Indicates whether the field should be displayed in the view.
      - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
      - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
    - `row_coloring` union
      - object
        - `mode` 'filter', required: Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields.
        - `conditions` object[], required
          - `apply_as_row_background` boolean
          - `color` string
          - `filters` union
            - object
              - …
            - object
              - …
      - object
        - `mode` 'select', required: Mode of row coloring. In this mode, the color is selected based on a single select field.
        - `field_id` string, required: Single select field ID to be used for colouring rows in the view.
        - `apply_as_row_background` boolean: Whether to additionally apply the color as row background.
  - object
    - `id` string, required: Unique identifier for the view.
    - `table_id` string: Id of table associated with the view.
    - `title` string, required: Title of the view.
    - `type` 'list', required: Type of the view.
    - `lock_type` 'collaborative' | 'locked' | 'personal': Lock type of the view. Note: Assigning view as personal using API is not supported currently
    - `description` string: Description of the view.
    - `created_by` string: User ID of the creator.
    - `owned_by` string: User ID of the owner.
    - `created_at` string, date-time: Timestamp of creation.
    - `updated_at` string, date-time: Timestamp of last update.
    - `options` ViewOptionsList: List view configuration. Records are organised into a hierarchy of levels; each level is a table linked to its parent through a link field.
      - `levels` object[]: Ordered levels of the list. Level 1 is the root table; deeper levels connect to their parent via link_field_id.
        - `level` number, required: 1-based depth of this level (1 = root).
        - `table_id` string, required: Table shown at this level.
        - `link_field_id` string, nullable: Link field connecting this level to its parent. Omitted/null for the root level.
        - `filters` union
          - object
            - `id` string: Unique identifier for the filter.
            - `parent_id` string: Parent ID of the filter, specifying this filters group association. Defaults to **root**.
            - `field_id` string, required: Field ID to which this filter applies.
            - `operator` string, required: Primary comparison operator (e.g., eq, gt, lt).
            - `sub_operator` string, nullable: Secondary comparison operator (if applicable).
            - `value` union: Value for comparison. Numbers and booleans are accepted, but stored and returned as strings (see `FilterResponse`).
              - …
            - `enabled` boolean: Whether the filter is switched on. A switched-off filter is skipped only when the plan includes toggle filters; otherwise it is still applied. Returned on reads; ignored on create, update and replace, so a recreated filter comes back switched on.
          - object
            - `group_operator` 'AND' | 'OR', required: Logical operator for the group.
            - `filters` union[], required: List of filters or nested filter groups at level 2.
              - …
        - `sorts` SortCreate[]: Sorts applied at this level.
          - `field_id` string, required: Identifier for the field being sorted.
          - `direction` 'asc' | 'desc': Sorting direction, either 'asc' (ascending) or 'desc' (descending).
          - `order_by` 'alphabetical' | 'option_order': How a SingleSelect field is ordered: 'alphabetical' (default, by option text) or 'option_order' (by the field's option order). Only SingleSelect fields support 'option_order'.
        - `fields` object[]: List of fields to be displayed in the view. - If not specified, all fields are displayed by default. - If an empty array is provided, only the display value field will be shown (form views hide it as well). - On every view type except form the display value field is pinned visible, so its position in the list is not applied. - In case of partial list, fields not included in the list will be excluded from the view. - A `field_id` that does not exist on the table is rejected with `422` (`ERR_FIELD_NOT_FOUND`).
          - `field_id` string, required: Unique identifier for the field.
          - `show` boolean, required: Indicates whether the field should be displayed in the view.
          - `width` integer: Width of the field in pixels. **Applicable to grid views, and to list views when sent per level under `options.levels[].fields`.** Accepted but not stored on other view types.
          - `aggregation` 'sum' | 'min' | 'max' | 'avg' | 'median' | 'std_dev' | 'range' | 'count' | 'count_empty' | 'count_filled' | 'count_unique' | 'percent_empty' | 'percent_filled' | 'percent_unique' | 'none' | 'attachment_size' | 'checked' | 'unchecked' | 'percent_checked' | 'percent_unchecked' | 'earliest_date' | 'latest_date' | 'date_range' | 'month_range'
      - `show_empty_parents` boolean: Show parent rows that have no child records.
      - `row_height` 'short' | 'medium' | 'tall' | 'extra': Height of the rows in the list view.

## Other responses

- `400`: Invalid request body.
- `404`: Table not found.
- `500`: Server error.

## Changes

- **2026-11-06** `62a735aaf849`: 7 breaking, 49 info
  - added `#/components/schemas/FilterResponse, #/components/schemas/FilterGroupResponse` to the `allOf[subschema #4]/oneOf[subschema #1: grid]/filters` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/FilterResponse, #/components/schemas/FilterGroupResponse` to the `allOf[subschema #4]/oneOf[subschema #2: gallery]/filters` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/FilterResponse, #/components/schemas/FilterGroupResponse` to the `allOf[subschema #4]/oneOf[subschema #3: kanban]/filters` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/FilterResponse, #/components/schemas/FilterGroupResponse` to the `allOf[subschema #4]/oneOf[subschema #4: calendar]/filters` response property `oneOf` list for the response status `200`
  - …52 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/nocodb/apis/nocodb-v3/changes/api/v3/meta/bases/:baseId/views/:viewId/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)
