Learn how to create and update portfolio solutions boards using the platform API
The monday.com portfolio solution provides a structure for managing projects at both a high-level and granular level. A solution is made up of two board types:
- Portfolio board: Connects multiple project boards to give a consolidated, interactive overview of all projects.
- Project board: Used for managing individual project details. Updates sync automatically to the portfolio board.
🚧 Portfolio solutions are only available on Enterprise plans.
Mutations
The API allows you to create and update portfolios using the following mutations.
Create a portfolio board
Required scope: boards:write
The create_portfolio
mutation creates a new portfolio board via the API. It returns the CreatePortfolioResult
type which allows you to specify which fields to return in the mutation response.
🚧 Only available for Enterprise plans
mutation {
create_portfolio(
boardName: "New Portfolio Board"
boardPrivacy: "private"
destinationWorkspaceId: 12345,
) {
success
message
solution_live_version_id
}
}
Arguments
You can use the following arguments to define the new portfolio board's characteristics.
Argument | Description | Accepted Values |
---|---|---|
boardName String! | The new portfolio board's name. | |
boardPrivacy String! | The new portfolio board's privacy settings. | "private" "share" |
destinationWorkspaceId Int | The unique identifier of the workspace to create the portfolio board in. |
Convert board to project
Required scope:boards:write
The convert_board_to_project
mutation converts an existing board into a project board via the API. It returns the ConvertBoardToProjectResult
type which allows you to specify which fields to return in the mutation response.
🚧 Only available for Enterprise plans
mutation {
convert_board_to_project(
input: {
board_id: 1234567890
column_mappings: {
project_status: "status_column_id"
project_owner: "person_column_id"
project_timeline: "date_column_id"
}
callback_url: "https://your-callback-url.com"
}
) {
success
message
process_id
projectId
}
}
Arguments
You can use the following argument to define which boards to convert.
Argument | Description |
---|---|
input ConvertBoardToProjectInput! | The unique identifier of the portfolio board to connect. |
Connect project to portfolio
Required scope: boards:write
The connect_project_to_portfolio
mutation connects an existing project board to a portfolio board via the API by creating a linked item in the portfolio. It returns the ConnectProjectResult
type which allows you to specify which fields to return in the mutation response.
🚧 Only available for Enterprise plans
This mutation has an additional rate limit of 40 mutations per minute.
mutation {
connect_project_to_portfolio(
projectBoardId: 1234567890
portfolioBoardId: 9876543210
) {
portfolio_item_id
message
success
}
}
Arguments
You can use the following arguments to define which boards to connect.
Argument | Description |
---|---|
portfolioBoardId ID! | The unique identifier of the portfolio board to connect. |
projectBoardId ID! | The unique identifier of the project board to connect. |