---
title: "Create view"
method: POST
path: "/api/v3/meta/bases/{baseId}/tables/{tableId}/views"
tags: ["Views"]
---

# Create view

`POST /api/v3/meta/bases/{baseId}/tables/{tableId}/views`

## Request

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

Create a view for table.

**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
- `tableId` string, required

## Request body

- union
  - object
    - `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.
    - `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, 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.
    - `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, 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.
    - `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
      - 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, 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.
    - `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
      - 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, 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.
    - `options` ViewOptionsTimelineCreate, 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[], required
        - `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, 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.
    - `options` ViewOptionsGanttCreate, required: Gantt view configuration. Bundles the per-view DateDependency rule with presentation settings stored on the view's meta JSON.
      - `date_dependency` DateDependency, required: 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, 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.
    - `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, required: Title of the view.
    - `type` 'form', 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.
    - `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, 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.
    - `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/tables/:tableId/views/post.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)
