Date

Learn how to filter, read, update, and clear the date column on monday boards using the platform API

The date column represents a specific date (and optionally a time).

Via the API, the date column supports read, filter, update, and clear operations.

Column Type

Implementation Type

Supported Operations

date

DateValue

  • Read: Yes
  • Filter: Yes
  • Update: Yes
  • Clear: Yes

Queries

Date columns can be queried through the column_values field on items queries using an inline fragment on DateValue.

query {
  items(ids: [1234567890, 9876543210]) {
    column_values {
      ... on DateValue {
        date
        time
      }
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  query($itemIds: [ID!]) {
    items(ids: $itemIds) {
      column_values {
        ... on DateValue {
          date
          time
        }
      }
    }
  }
`;

const variables = {
  itemIds: [9571351485, 9572374902],
};

const response = await mondayApiClient.request(query, variables);

Fields

You can use the following fields to specify what information your DateValue implementation will return.

FieldDescription
column Column!The column the value belongs to.
date StringThe column's date value.
icon StringThe selected icon as a string.
id ID!The column's unique identifier.
text StringThe column's value as text. Returns "" if the column has no value.
time StringThe column's time value. Results are based on the timezone settings of the user making the API call.
type ColumnType!The column's type.
updated_at DateThe column's last updated date.
value JSONThe raw JSON-formatted column value. Results are in UTC.

Filter

You can filter items by date column values using the items_page object.

Some compare values are dynamic (e.g., "TODAY", "THIS_WEEK") and depend on the time, time zone, date format, and first day of the week of the user making the API call. Others are static (e.g., "EXACT" with a specific date).

👍

💡 The results depend on the time zone, date format, and first day of the week configured in the monday.com profile of the user making the API call.

The table below outlines the supported operators, compare values, and compare attributes for the date column.

Compare Value

Description

Operators

"TODAY"

Items with today's date.

  • any_of: items dated today
  • not_any_of: items with a date that is not today
  • greater_than: dates after today
  • greater_than_or_equals: dates on or after today
  • lower_than: dates before today
  • lower_than_or_equal: dates on or before today

"TOMORROW"

Items with tomorrow's date.

  • any_of: items dated tomorrow
  • not_any_of: items not dated tomorrow
  • greater_than: dates after tomorrow
  • greater_than_or_equals: dates on or after tomorrow
  • lower_than: dates before tomorrow
  • lower_than_or_equal: dates on or before tomorrow

"YESTERDAY"

Items with yesterday's date.

  • any_of: item's dated yesterday
  • not_any_of: item's not dated yesterday
  • greater_than: dates after yesterday
  • greater_than_or_equals: dates on or after yesterday
  • lower_than: dates before yesterday
  • lower_than_or_equal: dates on or before yesterday

"THIS_WEEK"

Items dated during the current week. The first day of the week is defined by the account settings of the user making the API call.

  • any_of: dates in the current week
  • not_any_of: dates not in the current week
  • greater_than: dates after this week
  • greater_than_or_equals: dates during or after this week
  • lower_than: dates before this week
  • lower_than_or_equal: dates during or before this week

"ONE_WEEK_AGO"

Items dated during the previous week. The first day of the week is defined by the account settings of the user making the API call.

  • any_of: dates in the previous week
  • not_any_of: dates not in the previous week
  • greater_than: dates after the previous week
  • greater_than_or_equals: dates during or after the previous week
  • lower_than: dates before the previous week
  • lower_than_or_equal: dates during or before the previous week

"ONE_WEEK_FROM_NOW"

Items dated during the upcoming week. The first day of the week is defined by the account settings of the user making the API call.

  • any_of: dates in the upcoming week
  • not_any_of: dates not in the upcoming week
  • greater_than: dates after the upcoming week
  • greater_than_or_equals: dates during or after the upcoming week
  • lower_than: dates before the upcoming week
  • lower_than_or_equal: dates during or before the upcoming week

"THIS_MONTH"

Items dated during the current month.

  • any_of: dates in the current month
  • not_any_of: dates not in the current month
  • greater_than: dates after the current month
  • greater_than_or_equals: dates during or after the current month
  • lower_than: dates before the current month
  • lower_than_or_equal: dates during or before the current month

"ONE_MONTH_AGO"

Items dated during the previous month.

  • any_of: dates in the previous month
  • not_any_of: dates not in the previous month
  • greater_than: dates after the previous month
  • greater_than_or_equals: dates during or after the previous month
  • lower_than: dates before the previous month
  • lower_than_or_equal: dates during or before the previous month

"ONE_MONTH_FROM_NOW"

Items dated during the upcoming month.

  • any_of: dates in the upcoming month
  • not_any_of: dates not in the upcoming month
  • greater_than: dates after the upcoming month
  • greater_than_or_equals: dates during or after the upcoming month
  • lower_than: dates before the upcoming month
  • lower_than_or_equal: dates during or before the upcoming month

"PAST_DATETIME"

Items with a date and time in the past.

  • any_of: past date and time
  • not_any_of: date and time not in the past

"FUTURE_DATETIME"

Items with a date and time in the future.

  • any_of: future date and time
  • not_any_of: date and time not in the future

"UPCOMING"

Used with a status column. Returns items not marked as "Done" where the date has not passed. Items with today’s date are not considered upcoming.

  • any_of: not "Done" before the date
  • not_any_of: "Done" before the date

"OVERDUE"

Used with a status column. Returns items not marked as "Done" where the date has passed. Items with today’s date will be considered overdue starting the next day.

  • any_of: not "Done" after the date
  • not_any_of: "Done" after the date

"DONE_ON_TIME"

Used with a status column. Returns items marked as "Done" before the date in the date column.

  • any_of: completed before the date
  • not_any_of: not completed before the date

"DONE_OVERDUE"

Used with a status column. Returns items marked as "Done" after the date in the date column.

  • any_of: completed after the date
  • not_any_of: not completed after the date

Exact dates (e.g., "2023-07-01"

Use static dates with the "EXACT" compare value in "YYYY-MM-DD" format. Example: ["EXACT", "2023-07-01"]

  • any_of: items with the specific date (with "EXACT")
  • not_any_of: items with any other date (with "EXACT")
  • between: items between two specific dates
  • greater_than: dates after the specified date (with "EXACT")
  • greater_than_or_equals: dates on or after the specified date (with "EXACT")
  • lower_than: dates before the specified date (with "EXACT")
  • lower_than_or_equal: dates on or before the specified date (with "EXACT")

"EXACT"

Used with select operators to return items with a specific date.

"$$$blank$$$"

Items with a blank value.

  • any_of: items with a blank value
  • not_any_of: items without a blank value

Examples

Filter by an exact date

query {
  boards(ids: [1234567890]) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "date"
            compare_value: ["EXACT", "2025-07-01"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
    boards(ids: $boardId) {
      items_page(
        query_params: {
          rules: [
            { column_id: $columnId, compare_value: $compareValue, operator: $operator }
          ]
        }
      ) {
        items { id name }
      }
    }
  }
`;

const variables = {
  boardId: 9571351437,
  columnId: "date_mksr13fh",
  compareValue: ["EXACT", "2025-07-16"],
  operator: "any_of",
};

const response = await mondayApiClient.request(query, variables);

Filter by multiple compare values

query {
  boards(ids: [1234567890]) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "date4"
            compare_value: [
              "EXACT"
              "2024-09-10"
              "TODAY"
              "EXACT"
              "2024-09-11"
              "TOMORROW"
            ]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
    boards(ids: $boardId) {
      items_page(
        query_params: {
          rules: [
            { column_id: $columnId, compare_value: $compareValue, operator: $operator }
          ]
        ]
      ) {
        items { id name }
      }
    }
  }
`;

const variables = {
  boardId: 9571351437,
  columnId: "date_mksr13fh",
  compareValue: ["EXACT", "2025-07-16", "TODAY", "TOMORROW"],
  operator: "any_of",
};

const response = await mondayApiClient.request(query, variables);

Filter for dates during or after the current week

query {
  boards(ids: [1234567890]) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "date"
            compare_value: ["THIS_WEEK"]
            operator: greater_than_or_equals
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
    boards(ids: $boardId) {
      items_page(
        query_params: {
          rules: [
            { column_id: $columnId, compare_value: $compareValue, operator: $operator }
          ]
        ]
      ) {
        items { id name }
      }
    }
  }
`;

const variables = {
  boardId: 9571351437,
  columnId: "date_mksr13fh",
  compareValue: ["THIS_WEEK"],
  operator: "greater_than_or_equals",
};

const response = await mondayApiClient.request(query, variables);

Filter by "UPCOMING"

query {
  boards(ids: [1234567890]) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "date"
            compare_value: ["UPCOMING"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
    boards(ids: $boardId) {
      items_page(
        query_params: {
          rules: [
            { column_id: $columnId, compare_value: $compareValue, operator: $operator }
          ]
        ]
      ) {
        items { id name }
      }
    }
  }
`;

const variables = {
  boardId: 9571351437,
  columnId: "date_mksr13fh",
  compareValue: ["UPCOMING"],
  operator: "any_of",
};

const response = await mondayApiClient.request(query, variables);

Mutations

Update

You can update a date column using change_simple_column_value or change_multiple_column_values. You can send values as simple strings or JSON objects, depending on the mutation you choose.

change_simple_column_value

Send the date as a string in YYYY-MM-DD format, optionally including time as HH:MM:SS with a space separator. Values should be in UTC, as they are automatically converted to the user’s time zone in the UI.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "date"
    value: "2019-06-03 13:25:00"
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValue: String!, $columnId: String!) {
    change_simple_column_value(
      item_id: $itemId
      board_id: $boardId
      column_id: $columnId
      value: $columnValue
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 9571351437,
  itemId: 9571351485,
  columnId: "date_mksr13fh",
  columnValue: "2025-08-27 13:00:00",
};

const response = await mondayApiClient.request(query, variables);

change_multiple_column_values

Send the date and optional time keys as a JSON object in column_values.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"date\": {\"date\": \"1993-08-27\", \"time\": \"18:00:00\"}}"
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
    change_multiple_column_values(
      item_id: $itemId
      board_id: $boardId
      column_values: $columnValues
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 9571351437,
  itemId: 9571351485,
  columnValues: JSON.stringify({
    // date_mksr13fh is the column ID
    date_mksr13fh: {
      date: "1993-08-27",
      time: "05:20:00"
    }
  }),
};

const response = await mondayApiClient.request(query, variables);

Clear

You can clear a date column using change_simple_column_value or change_multiple_column_values.

change_simple_column_value

Pass an empty string in value.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "date"
    value: ""
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValue: String!, $columnId: String!) {
    change_simple_column_value(
      item_id: $itemId
      board_id: $boardId
      column_id: $columnId
      value: $columnValue
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 9571351437,
  itemId: 9571351485,
  columnId: "date_mksr13fh",
  columnValue: "",
};

const response = await mondayApiClient.request(query, variables);

change_multiple_column_values

Pass null or an empty string/object in column_values.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"date\": null}"
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
    change_multiple_column_values(
      item_id: $itemId
      board_id: $boardId
      column_values: $columnValues
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 9571351437,
  itemId: 9571351485,
  columnValues: JSON.stringify({
    date_mksr13fh: null
  }),
};

const response = await mondayApiClient.request(query, variables);