Board 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

You can use the views query to retrieve app data via the API.

  • 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

You can use the following arguments 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 fields to specify what information your views query will return.

Field

Description

Enum Values

access_level BoardViewAccessLevel!

The user's board view access level.

edit
view

filter JSON

The view's filter metadata. Only available in API versions2025-10 and later.

filter_team_id Int

The team ID the view is filtered by. Only available in API versions2025-10 and later.

filter_user_id Int

The user ID the view is filtered by. Only available in API versions2025-10 and later.

id ID!

The view's unique identifier.

name String!

The view's name.

settings JSON

The view's settings. The structure varies by view type. Only available in API versions2025-10 and later.

settings_str String!

The view's settings.

sort JSON

The view's sort metadata. Only available in API versions2025-10 and later.

source_view_id ID

The unique identifier of the original view this was duplicated from (if applicable).

tags [String!]

The view's tags. Only available in API versions2025-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 specify which fields to return in the mutation response.

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.

Argument

Description

Enum Values

Supported Fields

board_id ID!

The board's unique identifier.

filter ItemsQueryGroup

The view's filters.

groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]

filter_user_id ID

The user ID to filter by.

filter_team_id ID

The team ID to filter by.

name String

The view's name.

settings JSON

The 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
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 specify which fields to return in the mutation response.

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.

Argument

Description

Supported Fields

board_id ID!

The board's unique identifier.

filter ItemsQueryGroup

The table view's filters.

groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]

filter_user_id ID

The user ID to filter by.

filter_team_id ID

The team ID to filter by.

name String

The table view's name.

settings TableViewSettingsInput

The 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 specify which fields to return in the mutation response.

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 updated board view's characteristics.

Argument

Description

Enum Values

Supported Fields

board_id ID!

The board's unique identifier.

filter ItemsQueryGroup

The view's filters.

groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]

filter_user_id ID

The user ID to filter by.

filter_team_id ID

The team ID to filter by.

name String

The view's name.

settings JSON

The 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 view's type.

APP
DASHBOARD
FORM
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 specify which fields to return in the mutation response.

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 arguments to define the updated table board view's characteristics.

Argument

Description

Supported fields

board_id ID!

The board's unique identifier.

filter ItemsQueryGroup

The table view's filters.

groups [ItemsQueryGroup!]
operator ItemsQueryOperator
rules [ItemsQueryRule!]

filter_user_id ID

The user ID to filter by.

filter_team_id ID

The team ID to filter by.

name String

The table view's name.

settings TableViewSettingsInput

The 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 specify which fields to return in the mutation response.

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.