In API versions 2024-01 and later, you can add the kind argument to an add_teams_to_board mutation to specify the team's role on the board. If this argument is not used, the team will automatically be added as a subscriber. Check out our documentation for more info!

Example

The following example would add teams 654321 and 123456 to board 1234567890 as owners.

mutation {
  add_teams_to_board (board_id: 1234567890, kind: owner, team_ids: [654321, 123456]) {
    id
  }
}

We recently introduced a hotfix to 2023-10 that returns "" instead of null for most empty column values when querying the text field through column_values V2. This hotfix aligns the 2023-10 behavior to what was returned in 2023-07.

Each column does NOT have the same expected behavior. It is essential to check out the column types reference to verify the expected result for each column.

The list below summarizes the expected behavior:

  • Most columns will return "" if the column is empty; otherwise, they'll return the column value as text
  • Mirror, connect boards, and dependency columns will always return null
  • monday doc columns will always return ""
  • Color picker, status, and dropdown columns will return null if the column is empty; otherwise, they'll return the column value as text
  • Some other columns (e.g., vote) will return a default value if the column is empty

We just added the direction and symbol fields on the NumbersValue implementation. You can use these fields to return information about the symbols used in Numbers columns. Check out the details here!

Please note that the NumbersValue implementation is only available in API version 2023-10 and later.

Sample query

query {
  items (ids:[9876543210]) {
    column_values {
      ... on NumbersValue {
        number
        id
        symbol
        direction
      }
    }
  }
}

Returns

{
  "data": {
    "items": [
      {
        "column_values": [
          {
            "number": 10,
            "id": "numbers",
            "symbol": "$",
            "direction": "left"
          }
        ]
      }
    ]
  },
  "account_id": 1234567
}

In API version 2023-10 and later, you can add the ids argument to an updates query to retrieve a specific update(s) using its ID.

You can use the argument when querying updates at the root or while nested under boards or items. Please note that when nesting updates in a boards or items query, the ids argument will only return updates matching the ID that are also related to the board or item.

The following example would only return information about update 9876543210 on item 1234567890.

query {
  items (ids: 1234567890) {
    updates (ids: 9876543210) {
      body
      created_at
    }
  }
}

The new app_installs object allows you to retrieve your app's installation data through the API. Your query can return most of the same installation information sent through webhooks.

This new object is available in API versions 2024-01 and later. Check out our documentation for more info!

query {
  app_installs (app_id: 123456789, limit: 1, page: 1) {
    app_id
    timestamp
    app_install_account {
      id
    }
    app_install_user {
      id
    }
    app_version {
      major
      minor
      patch
      type
      text
    }
  }
}

We released API version 2024-01 on October 1st. It contains just one breaking change to give you more time to focus on the changes previously announced in 2023-10. Check it out below!

Here's what's new

Breaking changes

  • Typo fix in UserUnauthorizedException error

We recently added the ability to sort and filter items_page results by either their last updated or creation dates.

You can do so by entering either "__creation_log__" or "__last_updated__" as the column ID in the order_by field of your query. The items will be returned chronologically, with the oldest listed first.

Please note that you are not required to have a last updated or creation log column on your board to use this sorting mechanism.

The following example would return the first 50 items on board 1234567890 with a blank status column value, and they would be listed chronologically (oldest to newest) according to their creation date.

query {
  boards (ids: 1234567890){
    items_page (limit: 50, query_params: {order_by: [{column_id: "__creation_log__"}], rules: [{column_id: "status", compare_value: [5]}], operator: and}) {
      cursor
      items {
        id
        name
      }
    }
  }
}

We've recently made a few updates and improvements to our webhooks to help provide you with a better developer experience. Let's check them out!

  1. New app_webhooks_only argument

This new argument returns just the webhooks created by the app initiating the request when querying the webhooks object through the API.

query {
  webhooks (app_webhooks_only:true, board_id:1234567890) {
    id
    event
    config
  }
}
  1. Added missing authorization headers

Before these updates, we were missing a feature that sent the authorization header for some webhooks. We added the missing feature, so now the authorization header will be included in all webhooks. Make sure to start validating your requests from monday!

Please note that this only applies to apps created in the Developer Center. You will not receive the authorization header if your app uses a personal token.

  1. Users can't remove app webhooks in the UI

While webhooks created by apps were always labeled internally on monday as belonging to a specific app, we enabled this labeling in the Active integrations page on the board so users can’t remove your webhooks from the board!