Other types

Learn about other types supported by the validations APIs

The monday.com validations APIs enable you to create, read, and delete required field columns and validation rules on monday.com boards.

The types below are used by the validations queries and mutations, and are not independently queryable.

RequiredColumns

An object containing the required columns on a board. Returned by the add_required_column and remove_required_column mutations.

FieldTypeDescription
required_column_ids[String!]An array of the unique identifiers for the required columns.

ValidationRule

🚧

Only available in API versions 2026-07 and later

An object representing a single validation rule on a board. Returned by the create_validation_rule, update_validation_rule, and delete_validation_rule mutations.

FieldTypeDescription
idIDThe unique identifier of the validation rule (UUID format).
thenJSONThe constraint clause that must be satisfied. Always present. Contains an operator (AND/OR) and a groups array of rule constraints.
ifJSONThe condition clause that triggers the rule. Returns null for validation rules (without a condition). Contains an operator (AND/OR) and a groups array of rule constraints.

ValidationRuleInput

🚧

Only available in API versions 2026-07 and later

An input object used to define a validation rule when creating or updating one.

FieldTypeDescription
thenGroupInput!The constraint clause. Defines what conditions must be met. Required.
ifGroupInputThe condition clause. When provided, the rule only applies when this condition is met. Optional.

GroupInput

🚧

Only available in API versions 2026-07 and later

An input object representing a group of rule constraints combined by a logical operator. Used in both the if and then clauses of a validation rule.

FieldTypeDescription
operatorGroupOperatorThe logical operator combining the constraints. Default: AND.
groups[RuleConstraintInput!]!An array of individual column constraints. Required.

RuleConstraintInput

🚧

Only available in API versions 2026-07 and later

An input object defining a single constraint on a column value.

FieldTypeDescription
operatorRuleOperator!The comparison operator for this constraint. Required.
column_idString!The unique identifier of the column to validate. Required.
compare_value[CompareValue!]The value(s) to compare against. The format depends on the column type and operator. Not required for operators like IS_EMPTY and IS_NOT_EMPTY.
compare_attributeStringAn optional attribute specifying how to interpret the compare value (e.g., "DATE" for date columns).

GroupOperator

🚧

Only available in API versions 2026-07 and later

An enum defining how multiple constraints within a group are combined.

Enum ValueDescription
ANDAll conditions in the group must be met.
ORAt least one condition in the group must be met.

RuleOperator

🚧

Only available in API versions 2026-07 and later

An enum defining the comparison operators available for rule constraints. Not all operators are supported for all column types or rule types. Operator availability varies dramatically:

  • Plain rules (no if clause) support the most limited set
  • Conditional IF clauses support intermediate operators
  • Conditional THEN clauses support the broadest set (including IS_EMPTY)

See the validation rules guide for the complete supported operator matrix by column type and clause type.

Enum ValueDescriptionClause Context
ANY_OFValue matches any of the specified values.Plain, IF, THEN; works with status, dropdown, rating
NOT_ANY_OFValue does not match any of the specified values.Plain, IF, THEN; works with status, dropdown, rating
EQUALSValue equals the specified value.IF clause only (not in plain or THEN); works with numbers, date
NOT_EQUALSValue does not equal the specified value.Plain, IF, THEN; works with numbers, date
IS_EMPTYValue is empty or not set.THEN clause only; works with status, dropdown, checkbox, people
IS_NOT_EMPTYValue is not empty.IF and THEN clauses only (not in plain rules); supported across many column types
GREATER_THANValue is greater than the specified value.Plain, IF, THEN; works with numbers, date
GREATER_THAN_OR_EQUALSValue is greater than or equal to the specified value.Plain, IF, THEN; works with numbers, date
LOWER_THANValue is lower than the specified value.Plain, IF, THEN; works with numbers, date
LOWER_THAN_OR_EQUALValue is lower than or equal to the specified value.Plain, IF, THEN; works with numbers, date
CONTAINS_TEXTValue contains the specified text.Plain, IF, THEN; works with text, long_text, email, phone, link, country
NOT_CONTAINS_TEXTValue does not contain the specified text.Plain, IF, THEN; works with text, long_text, email, phone, link, country
STARTS_WITH_TEXTValue starts with the specified text.Plain, IF, THEN; works with text, long_text, email, phone, link, country
BETWEENValue is between two specified values (inclusive).Plain, IF, THEN; works with date only (NOT supported on numbers)

CompareValue

🚧

Only available in API versions 2026-07 and later

A custom scalar that accepts either a string or number value for comparison. The expected format depends on the column type and operator. Format is strict — the API rejects misformatted compare values.

Format by column type and operator

Column TypeOperatorExample compare_valueNotes
statusANY_OF, NOT_ANY_OF[1, 2]Use label indices (integers), not label names
dropdownANY_OF, NOT_ANY_OF[1, 2]Use label indices (integers), not label names
ratingANY_OF, NOT_ANY_OF[4, 5]Rating values as integers
numbersNOT_EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, LOWER_THAN, LOWER_THAN_OR_EQUAL[5]Single numeric value
dateBETWEEN["2026-01-01", "2026-12-31"]Two date strings in YYYY-MM-DD; NO EXACT prefix for BETWEEN
dateGREATER_THAN, GREATER_THAN_OR_EQUALS, LOWER_THAN, LOWER_THAN_OR_EQUAL, NOT_EQUALS, EQUALS["EXACT", "2026-01-01"]Required: Prefix with "EXACT", then date in YYYY-MM-DD
text, long_text, email, phone, link, countryCONTAINS_TEXT, NOT_CONTAINS_TEXT, STARTS_WITH_TEXT["search term"]Single string value
AnyIS_EMPTY, IS_NOT_EMPTY(omit) or []No value needed
timeline(same as date)["EXACT", "2026-01-01"]Timeline columns follow date format rules

Common mistakes

# ❌ WRONG: Using label name instead of index
compare_value: ["Done"]

# ✅ CORRECT: Use label index
compare_value: [1]

# ❌ WRONG: Omitting EXACT prefix on date comparison
compare_value: ["2026-01-01"]

# ✅ CORRECT: Include EXACT prefix (except for BETWEEN)
compare_value: ["EXACT", "2026-01-01"]

# ❌ WRONG: Using EXACT prefix with BETWEEN
compare_value: ["EXACT", "2026-01-01", "EXACT", "2026-12-31"]

# ✅ CORRECT: BETWEEN uses plain dates without EXACT
compare_value: ["2026-01-01", "2026-12-31"]

ValidationsEntityType

An enum defining the entity types that support validations.

Enum ValueDescription
boardValidations on a board.