Board views

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

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

Queries

You can retrieve monday.com board view data via the API through the views query.

  • Returns an array containing metadata about a collection of board views
  • Can only 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

You can use the following argument(s) to reduce the number of results returned in your views query.

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

Fields

You can use the following field(s) to specify what information your views query will return.

FieldDescriptionEnum Values
access_level BoardViewAccessLevel!The user's board view access level. edit
view
filter JSONThe view's filter metadata. Only available in API versions 2025-10 and later.
filter_team_id IntThe team ID the view is filtered by. Only available in API versions 2025-10 and later.
filter_user_id IntThe user ID the view is filtered by. Only available in API versions 2025-10 and later.
id ID!The view's unique identifier.
name String!The view's name.
settings JSONThe view's settings. The structure varies by view type. Only available in API versions 2025-10 and later.
settings_str String!The view's settings.
sort JSONThe view's sort metadata. Only available in API versions 2025-10 and later.
source_view_id IDThe unique identifier of the original view this was duplicated from (if applicable).
tags [String!]The view's tags. Only available in API versions 2025-10 and later.
type String!The view's type.
view_specific_data_str String!Specific board view data (only supported for forms).

Mutations

The API allows you to create, update, and delete board views using the following mutations. These operations let you programmatically control a view's full lifecycle.

🚧 These mutations are only available in API versions 2025-10 and later

Create view

Required scope: boards:write

The create_view mutation creates a new board view via the platform API. You can also specify what fields to query back from the tag when you run the mutation.

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

You can use the following arguments to define the new board view's characteristics.

ArgumentDescriptionSupported Fields
board_id ID!The board's unique identifier.
filter ItemsQueryGroupThe view's filters. groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]
filter_user_id IDThe user ID to filter by.
filter_team_id IDThe team ID to filter by.
name StringThe view's name.
settings JSONThe 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.
type ViewKind!The type of view to create: APP, DASHBOARD, FORM, or TABLE.

Create view table

Required scope: boards:write

The create_view_table mutation creates a new table board view via the platform API. You can also specify what fields to query back from the tag when you run the mutation.

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

You can use the following arguments to define the new table board view's characteristics.

ArgumentDescriptionSupported fields
board_id ID!The board's unique identifier.
filter ItemsQueryGroupThe table view's filters. groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]
filter_user_id IDThe user ID to filter by.
filter_team_id IDThe team ID to filter by.
name StringThe table view's name.
settings TableViewSettingsInputThe table view's configuration settings. columns ColumnsConfigInput
group_by GroupBySettingsInput
sort [ItemsQueryOrderBy!]The table view's sort order. column_id String!
direction ItemsOrderByDirection
tags [String!]The table view's tags.

Update view

Required scope: boards:write

The update_view mutation updates a board view via the platform API. You can also specify what fields to query back from the tag when you run the mutation.

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

You can use the following arguments to define the update board view's characteristics.

ArgumentDescriptionSupported fields
board_id ID!The board's unique identifier.
filter ItemsQueryGroupThe view's filters. groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]
filter_user_id IDThe user ID to filter by.
filter_team_id IDThe team ID to filter by.
name StringThe view's name.
settings JSONThe view's type-specific configuration settings. Query get_view_schema_by_type to see available properties.
sort [ItemsQueryOrderBy!]The view's sort order. column_id String!
direction ItemsOrderByDirection
tags [String!]The view's tags.
type ViewKind!The type of view to create: APP, DASHBOARD, FORM, or TABLE.
view_id ID!The view's unique identifier.

Update view table

Required scope: boards:write

The update_view_table mutation updates a table board view via the platform API. You can also specify what fields to query back from the tag when you run the mutation.

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

Arguments

You can use the following argument(s) to define the updated table board view's characteristics.

ArgumentDescriptionSupported fields
board_id ID!The board's unique identifier.
filter ItemsQueryGroupThe table view's filters. groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]
filter_user_id IDThe user ID to filter by.
filter_team_id IDThe team ID to filter by.
name StringThe table view's name.
settings TableViewSettingsInputThe table view's configuration settings. columns ColumnsConfigInput
group_by GroupBySettingsInput
sort [ItemsQueryOrderBy!]The table view's sort order. column_id String!
direction ItemsOrderByDirection
tags [String!]The table view's tags.
view_id ID!The view's unique identifier.

Delete view

Required scope: boards:write

The delete_view mutation deletes a board view via the platform API. You can also specify what fields to query back from the tag when you run the mutation.

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

Arguments

You can use the following arguments to specify which board view to delete.

ArgumentDescription
board_id ID!The board's unique identifier.
view_id ID!The view's unique identifier.