Learn about other types supported by the boards APIs
The monday.com boards APIs enable you to create, read, update, and delete boards.
The types below are used by the boards queries and mutations, and are not independently queryable.
ItemNicknameInput
An object containing the item nickname.
| Field | Type | Description |
|---|---|---|
| plural | String | The plural form of the item nickname |
| preset_type | String | The preset type for item nickname. |
| singular | String | The singular form of the item nickname. |
item_nickname
Only available in version
2026-04and later
An enum value of board_attribute on update_board that allows you to modify a board’s item nickname.
mutation {
update_board(
board_id: 1234567890
board_attribute: item_nickname
new_value: "{\"preset_type\":\"other\",\"singular\":\"Task\",\"plural\":\"Tasks\"}"
)
}| Field | Type | Description |
|---|---|---|
| plural | String | The plural form of the item nickname |
| preset_type | String | The preset type for item nickname. |
| singular | String | The singular form of the item nickname. |
SetBoardPermissionResponse
An object containing the result of setting a board's permissions via the API.
| Field | Type | Description | Enum Values |
|---|---|---|---|
| edit_permissions | BoardEditPermissions! | Specifies which group of users is allowed to edit the board’s content. This setting reflects the board's technical editing permissions. | assigneecollaboratorseveryoneowners |
| failed_actions | [String!] | Any actions that failed during the permission update process. |
UpdateTeamsBoardRoleResponse
An object containing the result of the update_teams_board_role mutation.
Only available in API versions 2026-10 and later
| Field | Type | Description | Enum Values |
|---|---|---|---|
| successful_team_ids | [ID!]! | The IDs of the teams whose board role was successfully updated. | |
| failed_teams | [FailedTeamBoardRoleUpdate!]! | The teams whose board role could not be updated, with the reason for each failure. |
FailedTeamBoardRoleUpdate
Represents a single team that failed to have its board role updated by update_teams_board_role.
| Field | Type | Description | Enum Values |
|---|---|---|---|
| team_id | ID! | The ID of the team that could not be updated. | |
| error | String! | The reason the update failed for this team (e.g., the team isn't subscribed to the board). |
UpdateBoardHierarchyAttributesInput
An object containing the board's attributes to update.
| Field | Type | Description |
|---|---|---|
| account_product_id | ID | The board's updated account product ID. You must also provide the relevant workspace_id within the updated product. |
| folder_id | ID | The board's updated folder ID. |
| position | DynamicPosition | The board's updated position in the left-side menu. |
| workspace_id | ID | The board's updated workspace ID. |
Dynamic position
An object containing the board's updated position in the left-side menu of the platform.
| Field | Type | Description | Enum Values |
|---|---|---|---|
| is_after | Boolean | Specifies where to position the target board relative to the reference object:
| |
| object_id | String! | The unique identifier of the reference object that the target board should be positioned relative to. | |
| object_type | ObjectType! | The type of the reference object. | BoardFolderOverview |
UpdateBoardHierarchyResult
An object containing the result of updating a board's position, product, or workspace.
| Field | Type | Description |
|---|---|---|
| board | Board | The updated board. |
| message | String | A message about the operation's result. |
| success | Boolean! | Whether the operation was successful. |
BoardInferredMetadata
Only available in API versions
2026-07and later
Optional metadata inferred for a board (for example, how items are referred to in context).
| Field | Type | Description |
|---|---|---|
| item_type | String | Custom terminology label for items on this board (when set). |
BoardManualMetadata
Only available in API versions
2026-07and later
Optional metadata supplied explicitly for a board.
| Field | Type | Description |
|---|---|---|
| board_md | String | Markdown content describing the board. |
BoardActivityLogsPage
Only available in API versions
2026-10and later
Returned by activity_log on Board. Fields are not yet documented here.
ExportAsyncJob
Only available in API versions
2026-10and later
Returned by create_board_export. Poll export_job_status with the job's job_id until the status is COMPLETED, FAILED, or CANCELLED. fetch_export_job_status is a deprecated alias reachable only on dev. Fields are not yet documented here.
ExportFile
Only available in API versions
2026-10and later
A completed board export, ready to download. Returned as one branch of ExportResult when the export finished within the synchronous window.
| Field | Type | Description |
|---|---|---|
| download_url | String | Presigned URL to download the exported file. Treat it as a secret — anyone holding it can download the file until it expires. |
| expires_at | String | When download_url stops working, as an ISO 8601 timestamp. The URL cannot be refreshed; call the mutation again for a new one. |
ExportOptionsInput
Only available in API versions
2026-10and later
Optional export configuration, passed to create_board_export. Every field is optional; omitting the whole object exports the board with the defaults below.
| Field | Type | Default | Description |
|---|---|---|---|
| include_subitems | Boolean | false | Include subitems in the export. |
| include_item_identifiers | Boolean | false | Append item_id — and parent_item_id when include_subitems is true — as the last columns. Needed to match exported rows back to items. |
| header_row | HeaderFormat | COLUMN_ID | Whether the header row uses column titles or column IDs. Defaults to COLUMN_ID when omitted. |
| non_importable_columns | NonImportableColumns | INCLUDE | What to do with columns that cannot be read back in on import. |
| people_column_format | PeopleColumnFormat | — | Output format for people column values. Omit to keep the raw ID form. |
| connected_item_column_format | ConnectedItemColumnFormat | NAME | Whether connected items (Connect boards) render as names or IDs. |
ExportResult
Only available in API versions
2026-10and later
A union returned by create_board_export. It is either a finished export you can download immediately, or a reference to a job that is still running.
union ExportResult = ExportAsyncJob | ExportFileThe server decides which member to return based on board size and current load. Which branch you get is not part of the contract and can change without notice, so your query must handle both. Select both members with inline fragments:
mutation {
create_board_export(board_id: 1234567890) {
... on ExportFile {
download_url
expires_at
}
... on ExportAsyncJob {
job_id
}
}
}| Member | Meaning |
|---|---|
ExportFile | The export already finished. Use download_url right away. |
ExportAsyncJob | The export is still running. Poll export_job_status with job_id until it is terminal. |
There is no error member. Problems surface either as a GraphQL error (if the request is rejected before the export starts) or as a FAILED status on export_job_status (if it fails after starting).
HeaderFormat
Only available in API versions
2026-10and later
Format of the header row in an exported file. Used by ExportOptionsInput.header_row.
| Value | Description |
|---|---|
TITLE | Use column titles as headers. Human-readable, but titles are not unique and can be renamed at any time. |
COLUMN_ID | Use column IDs as headers. Stable identifiers — use this when the file will be re-imported or processed by a script. |
NonImportableColumns
Only available in API versions
2026-10and later
How to handle columns whose values cannot be read back in on import. Used by ExportOptionsInput.non_importable_columns.
| Value | Description |
|---|---|
INCLUDE | Export these columns anyway, using their standard rendering. Best for reporting, where you want every value. |
SKIP | Omit these columns from the file entirely. Best when the file is meant to be imported back in cleanly. |
ERROR | Fail the export if any such column would be included. Use when a silently lossy export would be worse than none. |
ConnectedItemColumnFormat
Only available in API versions
2026-10and later
Output format for connected items (Connect boards) column values. Used by ExportOptionsInput.connected_item_column_format.
| Value | Description |
|---|---|
NAME | Use the linked items' display names (e.g. Task A, Task B). This is the default. |
ID | Use the linked items' IDs (e.g. 111, 222). Use this when the export needs to be joined back to items. |
PeopleColumnFormat
Only available in API versions
2026-10and later
Output format for people column values. Used by ExportOptionsInput.people_column_format.
| Value | Description |
|---|---|
NAME | Use display names (e.g. Jordan Lee, Marketing Team) instead of the raw ID form (e.g. user:123). |
Omit the option entirely to keep the raw ID form, which is what you want if the values need to be resolved back to specific users or teams.
ExportJobStatusInfo
Only available in API versions
2026-10and later
The current state of an async board export job. Returned by export_job_status.
| Field | Type | Description |
|---|---|---|
| status | ExportJobStatus | Current status of the job. COMPLETED, FAILED, and CANCELLED are terminal — stop polling when you see one. |
| download_url | String | Presigned download URL. Populated only while status is COMPLETED and the URL has not expired; it becomes null afterwards. Run the export again to get a fresh one. |
| failure_reason | ExportFailureReason | Structured reason the job failed. Populated only when status is FAILED. Branch on this rather than on failure_message. |
| failure_message | String | Human-readable error detail, when the failure exposes text that is safe to show. Populated only when status is FAILED, and may be null even then. |
Note that a COMPLETED job can still return a null download_url if you poll after the URL has expired, so check for null before using it.
ExportJobStatus
Only available in API versions
2026-10and later
Lifecycle status of an async board export job. Used by ExportJobStatusInfo.status.
| Value | Terminal | Description |
|---|---|---|
RUNNING | No | The export is still in progress. Keep polling. |
COMPLETED | Yes | The export finished successfully. Read download_url. |
FAILED | Yes | The export failed. Read failure_reason, and failure_message when present. |
CANCELLED | Yes | The export was cancelled. |
Treat any unrecognized value as terminal so a future addition cannot leave your client polling forever.
ExportFailureReason
Only available in API versions
2026-10and later
Structured reason an async board export job failed. Used by ExportJobStatusInfo.failure_reason.
| Value | Retryable | Description |
|---|---|---|
BOARD_UNAVAILABLE | No | The board was deleted or archived. |
BOARD_INACCESSIBLE | No | The caller lost permission to read the board. |
ITEM_LIMIT_EXCEEDED | No | The board has more items than the export limit allows. |
INVALID_REQUEST | No | The request was rejected during validation — for example, an unsupported combination of export options. Fix the request before retrying. |
NOT_FOUND | No | The board, or something it referenced, could not be found. |
INTERNAL_ERROR | Yes | An unexpected internal error occurred. Retrying the mutation is reasonable. |
