URGENT: API stopped returning “value" field for “board_relation” columns

API stopped returning “value” field for “board_relation” columns

Imgur

Our code depends on these values. Change happened recently but I cannot tell when exactly.

I have reported this issue to Monday.com on Thursday afternoon. We have not heart anything back since then besides “we’ve escalated the issue.”

We are desperate for a fix, all development has been entirely halted until we can get this issue resolved. Can someone help!?

This renders our app unusable for all customers.

Example:

query {
boards(ids: [8853835590]) {
items_page(limit: 50) {
cursor
items {
id
name
email
created_at
updated_at
state
board {
id
}
creator_id
column_values {
id
value
text
column {
title
}
… on BoardRelationValue {
display_value
}
}
}
}
}
}

Response: (showing connect_board response.)

              "id": "connect_boards_mkn2a222",
              "value": null,
              "text": null,
              "column": {
                "title": "Kit Assigned"
              },
              "display_value": "ECS #1"
            }

Hi @automatonguy9311,

Which API version are you using? Can you please also confirm which field you’re referring to? Your queries show display_value, but you mentioned the value field (which is expected to return null).

ETA: I see you have multiple posts about the same issue. Let’s centralize it into this one so we can see all info at once and get a faster resolution.

Best,
Rachel

Rachel, I was able to get the linkedPulseIDs back onto the records by making a request with ‘version 2024-10’

It looks like last week your API team posted a really significant change to the behavior of the API with regards to connect board columns!

Would have been really good to get some advance warning. An unexpected change like this could be (and was) pretty damaging to our business.

Hi @automatonguy9311,

This is likely due to an unexpected bug from a change that was pushed out last week. This was temporarily disabled as of Sunday until a fix can be deployed. Can you please try your calls with the original version you were passing to verify?

Best,
Rachel

Rachel, unfortunately no.

If I make the below API call on the ‘base’ version with no version input, the ‘value’ field is ‘null’ for all items, and there are no linked pulse IDs passed over to me. By talking to your technical team I was told I had to update the system to asked for ‘linked_item_ids’ using a totally different format to the request. But this update would require that I rewrite a lot of our code.

Have opted to just pass all our API calls through as version 2024-10 going forward. Really disappointing that such a sweeping and potentially damaging change would be made at all. If this had happened at a more inopportune moment, it could have been devastating, and we had no warning!

If I do it with ‘version = 2024-10’, it works just like it used to.

query {
boards(ids: [${boardId}]) {
id
name
columns { id title }
items_page(limit: 100${cursor ? ‘, cursor: "’ + cursor + ‘"’ : ‘’}) {
cursor
items { id name column_values { id text value } }
}
}
}

Hey @automatonguy9311,

I see! So in this case, this is the new expected behavior in versions 2025-04 and after for the value field.

This change was announced in mid-March and added to the release notes as a breaking change at the same time.

I understand the impact this has on your operations and am glad you found a workaround. None of the earlier supported versions have a deprecation date as of now, so you should be good for some time :slight_smile:

If you haven’t already, I recommend subscribing to our API changelog so you can be notified of each upcoming change!

Best,
Rachel

@automatonguy9311 If you don’t want any nasty surprises, always version your graphQL calls and upgrade every few months after testing all the API calls.

We use a wrapper similar to the following to ensure our calls are always versioned…

path/to/my-monday-sdk.js:

import mondaySdk from 'monday-sdk-js';

const MONDAY_SDK_VERSION = '2025-01';

/**
 * optional `shortLivedToken`
 */
export const myMondaySdk = (shortLivedToken) => {
	const monday = mondaySdk();
	monday.setApiVersion(MONDAY_SDK_VERSION);
	shortLivedToken && monday.setToken(shortLivedToken);
	return monday;
};

We can then call monday sdk using…

import { myMondaySdk } from 'path/to/my-monday-sdk';

const monday = myMondaySdk();
const result = await monday.api(`{ me { name } }`);
// --> { "data": { "me": { "name": "David Simpson" } } }

This will (hopefully) prevent any nasty surprises when a current api version changes without you knowing.