monday.com boards are where users input all of their data. As such it is one of the core components of the platform, and one of the main objects you will need to be familiar with. You can learn more about this object type here.

A board’s structure is composed of rows (called items), groups of rows (called groups), and columns. The data of the board is stored in the items on the board as well as in the updates sections of each item. Each board has one or more owners and subscribers.

Additionally, there are three different board types (main, shareable, private) and each board can have different sets of permissions. Querying boards can return one board, or a collection of boards.

Boards Queries

Required scope: boards:read

query {
  boards (ids: 12345678) {
    name
    state
    board_folder_id
    owner {
      id
    }
  }
}
let query = 'query { boards (ids: 12345678) { name state board_folder_id owner { id }}}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "query { boards (ids: 12345678) { name state board_folder_id owner { id }}}"}'

Arguments

The following board arguments can reduce the number of boards returned.

Argument

Description

limit Int

The number of boards returned. Default is 25.

pageInt Int

The page number returned, should you implement pagination. Starts at 1.

IDs [Ints]

A list of the unique board identifier(s).

board_kind BoardKind

The board's kind (public / private / share).

state State

The state of the board (all / active / archived / deleted). Default is active.

order_by BoardsOrderBy

The order in which to retrieve your boards (created_at / used_at).

Fields

Fields are used to return specific properties in an object. The following fields will determine what information is returned from your boards query. Some fields will have their own arguments.

📘

Supported Arguments

You can specify arguments for some fields in this query. We've listed these supported arguments below. For a comprehensive description of each field's argument, check out the linked documentation.

Field

Field Description

Supported Arguments

activity_logs [ActivityLogType]

A list of the activity log events for the queried board(s).

limit Int
page Int
user_ids [Int]
column_ids String
group_ids String
item_ids Int
from ISO8601DateTime
to ISO8601DateTime

board_folder_id Int

The unique identifier of the folder that contains the board(s).

board_kind !BoardKind

The board's kind (public / private / share).

columns [Column]

A list of the board's visible columns.

ids [String]

communication JSON

Get the board communication value - typically meeting ID.

description String

The board's description.

groups [Group]

A list of the board's visible groups.

ids [String]

id !ID

The unique identifier of the board.

items [Item]

A list of the item(s) on the board.

ids [Int]
limit Int
page Int
newest_first Boolean

name !String

The name of the board.

owner !User

The user who created the board.

permissions !String

The permissions on the board (everyone / collaborators / assignee / owners).

pos String

The position of the board.

state !State

The state of the board (all / active / archived / deleted).

subscribers ![User]

A list of the subscribers on the board.

tags [Tag]

A list of the specific tags on the board.

top_group !Group

The group at the top of the board.

updated_at ISO8601DateTime

The last time the board was updated.

updates [Update]

A list of the updates on the board.

limit Int
page Int

views [BoardView]

A list of the board views on the board.

ids [Int]
type String

workspace Workspace

The workspace that contains the board (null for Main workspace).

workspace_id Int

The unique identifier for the board's workspace (null for Main workspace).

Boards Mutations

Required scope: boards:write

Create a Board

This method allows you to create a new board. After the mutation runs you can query back all the board data as shown in the querying boards section above.

To see the template ID's for your personal templates, activate the "Developer Mode" feature in your monday.labs. You will then be able to see your template ID's in the template preview screen. For our built-in templates, the template ID will be the board ID of the board created from the template.

mutation {
    create_board (board_name: "my board", board_kind: public) {
        id
    }
}
let query = 'mutation { create_board (board_name: \"my board\", board_kind: public) {   id }}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "mutation { create_board (board_name: \"my board\", board_kind: public) { id }}"}'

Arguments for Create a Board

The following create_board() arguments define the new board's characteristics.

Argument

Description

board_name !String

The name of the created board.

board_kind !BoardKind

The created board's kind (public / private / share).

folder_id Int

The board's folder id. Optional.

workspace_id Int

The board's workspace id. Optional.

template_id Int

The board's template id. Optional.

Archive a Board

This method allows you to archive a board. After the mutation runs you can query back all the board data as shown in the querying boards section above.

mutation {
    archive_board (board_id: 12345678) {
        id
    }
}
let query = 'mutation { archive_board (board_id: 12345678) { id }}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "mutation { archive_board (board_id: 12345678) { id }}"}'

Arguments for Archive a Board

The following archive_board() argument determines which board will be archived.

Argument

Description

board_id !Int

The board's unique identifier.

Add Subscribers to a Board

This method allows you to add subscribers to a board. After the mutation runs you can query back all the board data as shown in the querying boards section above.

You can define if the users will be added as regular subscribers or as owners of the board.

mutation {
    add_subscribers_to_board (board_id: 12345678, user_ids: [123456, 234567, 345678], kind: owner) {
        id
    }
}
let query = 'mutation { add_subscribers_to_board (board_id: 12345678, user_ids: [123456, 234567, 345678], kind: owner) { id } }';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "mutation { add_subscribers_to_board (board_id: 12345678, user_ids: [123456, 234567, 345678], kind: owner) { id } }"}'

Arguments for Add Subscribers to a Board

The following add_subscribers_to_board() arguments define the subscribers added to the board.

Argument

Description

board_id !Int

The board's unique identifier.

user_ids ![Int]

User ids to subscribe to the board.

kind SubscriberKind

Subscribers kind (subscriber / owner).

Delete Subscribers from a Board

This method allows you to delete subscribers from a board. After the mutation runs you can query back all the board data as shown in the querying boards section above.

mutation {
    delete_subscribers_from_board(board_id: 12345678, user_ids: [123456, 234567, 345678]) {
        id
    }
}
let query = 'mutation { delete_subscribers_from_board(board_id: 12345678, user_ids: [123456, 234567, 345678]) { id }}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "mutation { delete_subscribers_from_board(board_id: 12345678, user_ids: [123456, 234567, 345678]) { id }}"}'

Arguments for Delete Subscribers from a Board

The following delete_subscribers_from_board() arguments define the subscribers removed from the board.

Argument

Description

board_id !Int

The board's unique identifier.

user_ids ![Int]

User ids to unsubscribe from the board.

Duplicate a Board

This method allows you to duplicate a board. After the mutation runs you can query back all the board data as shown in the querying boards section above.

This mutation duplicates a board with all of its items and groups to a specific workspace and/or folder of your choice.

This query will return data of the board created as well as whether the process is synchronous or asynchronous. Please note that an asynchronous duplication process may take some time to complete, therefore the initial returned data may be partial.

🚧

Mutation-specific rate limit

The duplicate_board mutation has an additional rate limit of 40 mutations per minute. If you exceed this limit, you will receive 429 HTTP response code with a "Call limit exceeded for DuplicateBoard" error message.

mutation {
    duplicate_board(board_id:12345678, duplicate_type: duplicate_board_with_structure) {
        board {
            id
        }
    }
}
let query = 'mutation { duplicate_board(board_id:12345678, duplicate_type: duplicate_board_with_structure) { board { id }}}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretApiKey' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d4512e647bd3dd90706f5673d6041f7c51618840981' \
--data-raw '{"query": "mutation { duplicate_board(board_id:12345678, duplicate_type: duplicate_board_with_structure) { board { id }}}"}'

Arguments for Duplicate a Board

The following duplicate_board() arguments define the type of board duplication.

Argument

Description

board_id !Int

The board's unique identifier.

duplicate_type !DuplicateBoardType

The duplication type (duplicate_board_with_structure / duplicate_board_with_pulses / duplicate_board_with_pulses_and_updates)

board_name String

The duplicated board's name. Optional. If omitted, will be automatically generated.

workspace_id Int

The destination workspace. Optional. If omitted, will default to the original board's workspace.

folder_id Int

The destination folder in the destination workspace. Optional. If omitted, will default to the original board's folder.

keep_subscribers Boolean

Ability to duplicate the subscribers to the new board. Defaults to false.


Did this page help you?