Views

Learn how to read, create, update, and delete monday.com board views using the platform API

monday.com board views allow you to visualize your board data differently through colors, shapes, and graphs.

Queries

Get views

  • Returns an array containing metadata about a collection of board views
  • Must be nested inside a boards query
query {
  boards(
    ids: [1234567890]
  ) {
    views {
      type
      settings_str
      view_specific_data_str
      name
      id
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `query ($board: [ID!]) { boards (ids: $board) { views { id name type } } }`
const variables = {
  board: 1234567
}
const response = await mondayApiClient.request(query, variables);

Arguments

ArgumentTypeDescription
ids[ID!]The specific board IDs to return views for.
typeStringThe specific type of views to return.

Fields

FieldTypeDescriptionEnum Values
access_levelBoardViewAccessLevel!The user's board view access level.edit
view
filterJSONThe view's filter metadata.
filter_team_idIntThe team ID the view is filtered by.
filter_user_idIntThe user ID the view is filtered by.
idID!The view's unique identifier.
is_pinnedBooleanWhether the view is pinned. Only available in API versions 2027-01 and later.
nameString!The view's name.
settingsJSONThe view's settings. The structure varies by view type.
settings_strString!The view's settings.
sortJSONThe view's sort metadata.
source_view_idIDThe unique identifier of the original view this was duplicated from (if applicable).
tags[String!]The view's tags.
typeString!The view's type.
view_specific_data_strString!Specific board view data (only supported for forms).

Mutations

Required scope:boards:write

Create view

Creates a new board view. Returns BoardView.

mutation {
  create_view(
    board_id: 1234567890
    type: APP
    name: "My app view"
    settings: {
      app_feature_id: 54321
    }
  ) {
    id
    name
  }
}
{
  "data": {
    "create_view": {
      "id": "9876543210",
      "name": "My app view"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
board_idID!The board's unique identifier.
conditional_formatting_settings[ConditionalFormattingConditionInput!]Conditional formatting rules that highlight rows or cells based on column values. Replaces all existing conditions on the view; pass an empty array to clear. Only available in versions 2026-10 and later.
contextViewContextThe view's entity scope. Currently only BOARD (the default). Only available in versions 2026-10 and later.BOARD
filterItemsQueryGroupThe view's filters.
filter_user_idIDThe user ID to filter by.
filter_team_idIDThe team ID to filter by.
nameStringThe view's name.
settingsJSONThe view's type-specific configuration settings. Query get_view_schema_by_type to see available properties.
sort[ItemsQueryOrderBy!]The view's sort order.
tags[String!]The view's tags.
typeViewKind!The type of view to create.APP
DASHBOARD
FORM
TABLE

Create view table

Creates a new table board view. Returns BoardView.

mutation {
  create_view_table(
    board_id: 1234567890
    name: "My new table view"
  ) {
    id
    name
  }
} 
{
  "data": {
    "create_view_table": {
      "id": "9876543210",
      "name": "My new table view"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
board_idID!The board's unique identifier.
conditional_formatting_settings[ConditionalFormattingConditionInput!]Conditional formatting rules that highlight rows or cells based on column values. Replaces all existing conditions on the table view; pass an empty array to clear. Only available in versions 2026-10 and later.
contextViewContextThe table view's entity scope. Currently only BOARD (the default). Only available in versions 2026-10 and later.
filterItemsQueryGroupThe table view's filters.
filter_user_idIDThe user ID to filter by.
filter_team_idIDThe team ID to filter by.
nameStringThe table view's name.
settingsTableViewSettingsInputThe table view's configuration settings.
sort[ItemsQueryOrderBy!]The table view's sort order.
tags[String!]The table view's tags.

Update view

Updates a board view. Returns BoardView.

mutation {
  update_view(
    board_id: 1234567890
    view_id: 54321
    sort: {
      column_id: "name"
      direction: asc
    }
    type:TABLE
  ) {
    id
    sort
  }
}
{
  "data": {
    "update_view": {
      "id": "54321",
      "sort": [
        {
          "column_id": "name",
          "direction": "ASC"
        }
      ]
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
board_idID!The board's unique identifier.
conditional_formatting_settings[ConditionalFormattingConditionInput!]Conditional formatting rules that highlight rows or cells based on column values. Replaces all existing conditions on the view; pass an empty array to clear. Only available in versions 2026-10 and later.
contextViewContextThe view's entity scope. Currently only BOARD (the default). Only available in versions 2026-10 and later.BOARD
filterItemsQueryGroupThe view's filters.
filter_user_idIDThe user ID to filter by.
filter_team_idIDThe team ID to filter by.
is_pinnedBooleanPins or unpins the view for all board members. Requires board owner or admin. Only available in API versions 2027-01 and later.
nameStringThe view's name.
settingsJSONThe view's type-specific configuration settings. Query get_view_schema_by_type to see available properties.
sort[ItemsQueryOrderBy!]The view's sort order.
tags[String!]The view's tags.
typeViewKind!The view's type.APP
DASHBOARD
FORM
TABLE
view_idID!The view's unique identifier.

Update view table

Updates a table board view. Returns BoardView.

mutation {
  update_view_table(
    board_id: 1234567890
    view_id: 54321
    settings: {
      columns:{
        column_properties:{
          column_id:"date",
          visible: false
        }
      }
    }
  ) {
    id
    sort
  }
}

Arguments

ArgumentTypeDescription
board_idID!The board's unique identifier.
conditional_formatting_settings[ConditionalFormattingConditionInput!]Conditional formatting rules that highlight rows or cells based on column values. Replaces all existing conditions on the table view; pass an empty array to clear. Only available in versions 2026-10 and later.
contextViewContextThe table view's entity scope. Currently only BOARD (the default). Only available in versions 2026-10 and later.
filterItemsQueryGroupThe table view's filters.
filter_user_idIDThe user ID to filter by.
filter_team_idIDThe team ID to filter by.
is_pinnedBooleanPins or unpins the table view for all board members. Requires board owner or admin. Only available in API versions 2027-01 and later.
nameStringThe table view's name.
settingsTableViewSettingsInputThe table view's configuration settings.
sort[ItemsQueryOrderBy!]The table view's sort order.
tags[String!]The table view's tags.
view_idID!The view's unique identifier.

Delete view

Deletes a board view. Returns BoardView.

mutation {
  delete_view(
    board_id: 1234567890
    view_id: 54321
  ) {
    name
  }
}
{
  "data": {
    "delete_view": {
      "name": "Deleted Form"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
board_idID!The board's unique identifier.
view_idID!The view's unique identifier.

Duplicate view

Duplicates an existing board view. Returns BoardView.

🚧

Only available in API versions 2026-10 and later

mutation {
  duplicate_view(
    board_id: 1234567890
    view_id: 54321
  ) {
    id
    name
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!, $view: ID!) { duplicate_view(board_id: $board, view_id: $view) { id name }}`
const variables = {
  board: 1234567890,
  view: 54321
}
const response = await mondayApiClient.request(query, variables);

Arguments

ArgumentTypeDescription
board_idID!The board's unique identifier.
view_idID!The unique identifier of the view to duplicate.

Restore view

Restores a previously deleted board view. Returns BoardView.

🚧

Only available in API versions 2026-10 and later

mutation {
  restore_view(
    board_id: 1234567890
    view_id: 54321
  ) {
    id
    name
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!, $view: ID!) { restore_view(board_id: $board, view_id: $view) { id name }}`
const variables = {
  board: 1234567890,
  view: 54321
}
const response = await mondayApiClient.request(query, variables);

Arguments

ArgumentTypeDescription
board_idID!The board's unique identifier.
view_idID!The unique identifier of the deleted view to restore.