Get column type schema

Learn how to read type-specific column settings via the API

Every column type in monday.com has a unique settings schema that defines how the column can be configured — including available properties, their types, constraints, and valid values. The get_column_type_schema query lets you retrieve this schema programmatically for any supported column type.

This is especially useful when:

  • Building dynamic integrations that need to create or configure columns without hardcoding settings for each type
  • Powering AI agents that need to understand column structure and capabilities to read or write data correctly
  • Validating column settings before passing them to create_column or typed create mutations like create_status_column

The returned JSON schema follows the JSON Schema draft-07 specification. It describes the settings object for the column type, including property names, types, enums, array constraints, and required fields.

👍

Each column type's documentation page includes a ready-to-use query for retrieving its schema. See the individual column type reference pages for type-specific examples.

Queries

Get column type schema

  • Returns a JSON schema object defining the settings structure for a specific column type
  • Can only be queried directly at the root; can't be nested within another query
query {
  get_column_type_schema(
    type: board_relation
  )
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "allowCreateReflectionColumn": {
                "type": "boolean",
                "description": "Whether to allow creation of reflection columns"
              },
              "allowMultipleItems": {
                "type": "boolean",
                "description": "Whether to allow selection of multiple items"
              },
              "boardIds": {
                "type": "array",
                "description": "Array of related board IDs",
                "items": {
                  "type": "integer"
                }
              },
              "boardId": {
                "type": "integer",
                "description": "Default board ID for the relation"
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  }
}

Arguments

ArgumentTypeDescription
typeColumnType!The type of column to retrieve the schema for.

More examples

Status column

The status column schema reveals the full label configuration structure, including color enums, maximum label count, and which fields are required.

query {
  get_column_type_schema(
    type: status
  )
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "type": {
                "type": "string",
                "description": "The type of managed column (status)"
              },
              "labels": {
                "type": "array",
                "maxItems": 40,
                "description": "Array of status labels",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The unique identifier for the label"
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 30,
                      "description": "The display text for the label"
                    },
                    "color": {
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": ["working_orange", "done_green", "stuck_red", "..."],
                          "description": "The color name from StatusColumnColors enum"
                        },
                        {
                          "type": "integer",
                          "description": "The color value from StatusColumnColors enum"
                        }
                      ]
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 39,
                      "description": "The display order of the label"
                    },
                    "is_done": {
                      "type": "boolean",
                      "description": "Whether the label represents a done state"
                    }
                  },
                  "required": ["label", "color", "index"]
                }
              }
            },
            "required": ["labels"]
          }
        }
      }
    }
  }
}

Date column

The date column schema shows available display and formatting options.

query {
  get_column_type_schema(
    type: date
  )
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "show_current_year": {
                "type": "boolean",
                "description": "Whether to show the current year"
              },
              "show_week_day": {
                "type": "boolean",
                "description": "Whether to show the day of the week"
              },
              "show_time_by_default": {
                "type": "boolean",
                "description": "Whether to show time by default"
              },
              "hide_footer": {
                "type": "boolean",
                "description": "Whether to hide the footer"
              },
              "date_format": {
                "type": "string",
                "description": "Date format configuration"
              },
              "time_format": {
                "type": "string",
                "description": "Time format configuration"
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  }
}

Reading the schema

The response is a standard JSON Schema object. Here's how to interpret the key parts:

Schema PropertyWhat It Tells You
propertiesThe available settings fields and their structure
typeThe expected data type (string, boolean, integer, array, object)
enumA fixed set of allowed values (e.g., color names, calculation types)
requiredFields that must be provided when creating or configuring the column
maxItemsThe maximum number of elements in an array (e.g., 40 labels for status)
maxLengthThe maximum character length for a string (e.g., 30 characters for status labels)
additionalPropertiesWhether extra fields beyond those listed are allowed (false = strict)
descriptionA human-readable explanation of what the field does

Supported column types

You can pass any of the following ColumnType values to the type argument:

Column Type EnumColumn Name
auto_numberAuto Number
board_relationConnect Boards
buttonButton
checkboxCheckbox
color_pickerColor Picker
countryCountry
creation_logCreation Log
dateDate
dependencyDependency
docmonday doc
dropdownDropdown
emailEmail
fileFiles
formulaFormula
hourHour
item_idItem ID
last_updatedLast Updated
linkLink
locationLocation
long_textLong Text
mirrorMirror
nameName
numbersNumbers
peoplePeople
phonePhone
progressProgress Tracking
ratingRating
statusStatus
tagsTags
textText
time_trackingTime Tracking
timelineTimeline
voteVote
weekWeek
world_clockWorld Clock