Managed columns

🚧 Only available in API versions 2025-07 and later

Managed columns are useful tools to standardize workflows across your monday.com account. Select users can create, own, and manage status and dropdown columns with predefined labels that can't be edited by other members. This ensures consistent terminology across different workflows and helps align teams on a unified structure.

Users with managed column permissions can read, create, activate, update, deactivate, and deleted managed columns via the API.

Queries

  • Returns an array containing metadata about one or several managed columns
  • Can only be queried directly at the root
query {
  managed_column (state: active) {
    created_by
    revision
    settings {
      ...on StatusColumnSettings { 
        type
        labels {
          id
          description
        }
      }
    }
  }
}
let query = 'query { managed_column(state: active) { created_by revision settings { ...on StatusColumnSettings { type labels { id description } } } } }';

fetch("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_API_KEY_HERE',
    'API-Version': '2025-07'
  },
  body: JSON.stringify({
    query: query
  })
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

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

ArgumentDescriptionEnum values
id [String!]The unique identifier of the managed column to filter by.
state [ManagedColumnState!]The state of the managed column to filter by.active
inactive

Fields

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

FieldDescriptionPossible types
created_at DateThe managed column's creation date.
created_by IDThe unique identifier of the user who created the managed column.
description StringThe managed column's description.
id StringThe unique identifier of the managed column.
revision IntThe current version of the managed column.
settings ColumnSettingsThe managed column's settings.DropdownColumnSettings,
StatusColumnSettings
settings_json JSONThe managed column's settings in JSON.
state ManagedColumnStateThe managed column's state: active or inactive.
title StringThe managed column's title.
updated_at DateThe managed column's last updated date.
updated_by IDThe unique identifier of the user who last updated the managed column.

Mutations

Create a managed status column

This mutation creates a new managed status column via the API. You can also specify a set of fields to return metadata about the new column.

mutation {
  create_status_managed_column (
    title: "Project status"
    description:"This column indicates the project's status."
    settings: {
      labels: [
        {
          color: done_green
          label: "Done"
          index: 1
          is_done: true
        },
        {			
          color: working_orange
          label: "In progress"
          index: 2
        },
        {			
          color: stuck_red
          label: "Stuck"
          index: 3
        }
      ]
    }
  ) {
    id
    state
    created_at
    created_by
  }
}
let query = 'mutation { create_status_managed_column ( title: "Project status", description: "This column indicates the project\'s status.", settings: { labels: [ { color: done_green, label: "Done", index: 1, is_done: true }, { color: working_orange, label: "In progress", index: 2 }, { color: stuck_red, label: "Stuck", index: 3 } ] } ) { id state created_at created_by } }';

fetch("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_API_KEY_HERE',
    'API-Version': '2025-07'
  },
  body: JSON.stringify({
    'query': query
  })
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to define the new managed dropdown column's properties.

ArgumentDescriptionSupported fields
description StringThe description of the new managed dropdown column.
settings CreateStatusColumnSettingsInputThe settings of the new managed dropdown column.labels [CreateStatusLabelInput!]!
title String!The title of the new managed dropdown column.

Create a managed dropdown column

This mutation creates a new managed dropdown column via the API. You can also specify a set of fields to return metadata about the new column.

mutation {
  create_dropdown_managed_column(
    title: "Project Domains"
    description: "This column lists all of the domains the project falls under."
    settings: {
      labels: [
        {
          label: "Research and Development" 
        }, 
        { 
          label: "Human Resources" 
        }, 
        {
          label: "Customer Support"
        }
      ]
    }
  ) {
    id
    title
    state
    created_at
    created_by
    settings {
      labels {
        id
        label
        is_deactivated
      }
    }
  }
}
let query = 'mutation { create_dropdown_managed_column( title: "Project Domains", description: "This column lists all of the domains the project falls under.", settings: { labels: [ { label: "Research and Development" }, { label: "Human Resources" }, { label: "Customer Support" } ] } ) { id title state created_at created_by settings { labels { id label is_deactivated } } } }';

fetch("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_API_KEY_HERE',
    'API-Version': '2025-07'
  },
  body: JSON.stringify({ query })
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to define the new managed dropdown column's properties.

ArgumentDescriptionSupported fields
description StringThe description of the new managed dropdown column.
settings CreateDropdownColumnSettingsInputThe settings of the new managed dropdown column.labels [CreateDropdownLabelInput!]!
title String!The title of the new managed dropdown column.

Activate managed column

This mutation activates a managed column via the API. You can also specify a set of fields to return metadata about the activated column.

mutation {
  activate_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") {
    status
    title
  }
}
let query = 'mutation { activate_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") { state title } }';

fetch ("https://api.monday.com/v2", {
	method: 'post',
	headers: {
		'Content-Type': 'application/json',
		'Authorization' : 'YOUR_API_KEY_HERE', 
    'API-Version' : '2025-07`
	},
	body: JSON.stringify({
		'query' : query
	})
})
 .then(res => res.json())
 .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument to specify which managed column to activate.

ArgumentDescription
id String!The unique identifier of the managed column to activate.

Update status managed column

This mutation updates a managed status column via the API. You can also specify a set of fields to return metadata about the updated column.

🚧 You must provide all of the column’s labels—even if you’re only updating one of them.
mutation {
  update_status_managed_column (
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
    revision: 0
    title: "Project status"
    description:"This column indicates the status of the project."
    settings: {
      labels: [
        {
          color: bright_blue
          label: "In progress"
          index: 2
        }
      ]
    }
) {
  id
  description
  updated_at
  settings {
    labels {
      color
    }
  }
}
let query = 'mutation { update_status_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce", revision: 0, title: "Project status", description: "This column indicates the status of the project.", settings: { labels: [{ color: bright_blue, label: "In progress", index: 2 }] }) { id description updated_at created_by settings { labels { color } } } }';

fetch("https://api.monday.com/v2", {
	method: 'post',
	headers: {
		'Content-Type': 'application/json',
		'Authorization': 'YOUR_API_KEY_HERE',
		'API-Version': '2025-07'
	},
	body: JSON.stringify({
		'query': query
	})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to specify the updated managed status column's properties.

ArgumentDescriptionSupported fields
description StringThe managed status column's new description.
id String!The unique identifier of the managed status column to update.
revision Int!The current version of the managed column. Must be provided when updating the column to ensure your data is up to date. If you receive a revision error, the revision may be outdated — fetch the latest column data and try again.
settings UpdateStatusColumnSettingsInputThe managed status column's settings to update.labels [UpdateStatusLabelInput!]!
title StringThe managed status column's new title.

Update dropdown managed column

This mutation updates a managed dropdown column via the API. You can also specify a set of fields to return metadata about the updated column.

🚧 You must provide all of the column’s labels—even if you’re only updating one of them.
mutation {  
  update_dropdown_managed_column (
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
    revision: 0
    title: "Project Domains"
    description: "This column tracks each domain a project falls under."
    settings: {
      labels: [
        {
          id: 1
          label: "Research & Development"
        }
      ]
    }
  ) {
    description
    updated_at
    revision
    state
  }
}
let query = 'mutation { update_dropdown_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce", revision: 0, title: "Project Domains", description: "This column tracks each domain a project falls under.", settings: { labels: [{ id: 1, label: "Research & Development" }] }) { description updated_at revision state } }';

fetch("https://api.monday.com/v2", {
	method: 'post',
	headers: {
		'Content-Type': 'application/json',
		'Authorization' : 'YOUR_API_KEY_HERE', 
    'API-Version' : '2025-07'
	},
	body: JSON.stringify({
		'query' : query
	})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to specify the updated managed dropdown column's properties.

ArgumentDescriptionSupported fields
description StringThe managed dropdown column's updated description.
id String!The unique identifier of the managed dropdown column to update.
revision Int!The current version of the managed column. Must be provided when updating the column to ensure your data is up to date. If you receive a revision error, the revision may be outdated — fetch the latest column data and try again.
settings UpdateDropdownColumnSettingsInputThe managed dropdown column's settings to update.labels [UpdateDropdownLabelInput!]!
title StringThe managed dropdown column's updated title.

Deactivate managed column

This mutation deactivates a managed column via the API. You can also specify a set of fields to return metadata about the deactivated column.

Deactivating a managed column prevents users from adding it to new boards. The column remains on existing boards and can be reactivated at any time using the activate_managed_column mutation or through the UI.

mutation {
  deactivate_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") {
    state
    title
  }
}
let query = 'mutation { deactivate_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") { state title } }';

fetch ("https://api.monday.com/v2", {
	method: 'post',
	headers: {
		'Content-Type': 'application/json',
		'Authorization' : 'YOUR_API_KEY_HERE', 
    'API-Version' : '2025-07`
	},
	body: JSON.stringify({
		'query' : query
	})
})
 .then(res => res.json())
 .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument to specify which managed column to deactivate.

ArgumentDescription
id String!The unique identifier of the managed column to deactivate.

Delete managed column

This mutation deletes a managed column via the API. You can also specify a set of fields to return metadata about the deleted column.

Deleting a managed column removes it from the Managed Column list in the Column Center and prevents users from adding it to new boards. The deleted column will remain on existing boards as a normal column, but it cannot be reactivated as a managed column.

mutation {
  delete_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") {
    state
    title
  }
}
let query = 'mutation { delete_managed_column (id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce") { state title } }';

fetch ("https://api.monday.com/v2", {
	method: 'post',
	headers: {
		'Content-Type': 'application/json',
		'Authorization' : 'YOUR_API_KEY_HERE',
    'API-Version' : '2025-07`
	},
	body: JSON.stringify({
		'query' : query
	})
})
 .then(res => res.json())
 .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument to specify which managed column to delete.

ArgumentDescription
id String!The unique identifier of the managed column to delete.