Unexpected changes to Monday API?

Hello.

Until recent one of our application mechanisms relied on the complexity exception message looking like this:


{
  error_code: 'ComplexityException',
  status_code: 429,
  error_message: 'Complexity budget exhausted, query cost 30001 budget remaining 1772 out of 1000000 reset in 15 seconds',
  error_data: {},
  errors: [
    'Complexity budget exhausted, query cost 30001 budget remaining 1772 out of 1000000 reset in 15 seconds'
  ],
  account_id: 12787730
}

But now the error looks like this:

{
  "errors": [
    "Complexity budget exhausted, query cost 517020 budget remaining 176620 out of 10000000 reset in 42 seconds"
  ],
  "error_code": "complexityBudgetExhausted",
  "status_code": 429,
  "account_id": 12787730
}

As you can see the error_code is different and the redundant error_message is gone.

Was that change announced anywhere? We haven’t made any API version switch, luckily we’ve noticed the changed error response in the logs.

Hi, the same thing happened with board column IDs. Subitem column in any board used to have an ID of “subitems” but now when we add the first subitem to a board the column is created with an ID of “subitems__1”. That change broke some of our app’s functionalities and similarly we don’t recall seeing any announcement - did we miss something?

Hi @RadekWroblewski,

Which API version are you using?

Best,
Rachel

A trick here is:

query ($boardIds: [ID!]) {
  boards(ids: $boardIds) {
		columns(types: subtasks){
      id
    }
  }
}

You can also do:

query ($itemIds: [ID!], $columnIds: [String!]) {
  items(ids: $itemIds) {
    subitems_value: column_values(types: subtasks) {
      id
      value
    }
    column_values(ids: $columnIds) {
      id
      value
    }
  }
}

In this case you can get to the subitems value at items[0].subitems_value[0].value

Hi Rachel,
We’re using 2024-01

Hi @RadekWroblewski,

Just heard back from our API team, and we will be deploying a fix on Tuesday to revert this change. So sorry for this!

I will update the release notes when it is updated. It should only impact the complexity error, but please let me know if you see it for any others.

Best,
Rachel

1 Like

Hi again @RadekWroblewski,

Just an update - the team is now saying it will be Wednesday morning. So sorry for the delay, but just wanted to keep you updated!

Best,
Rachel

The fix was deployed! Let me know if you’re still having issues.

Best,
Rachel

Guys, why are you making changes to the API for all versions?
We adapted our code for this error in the “complexityBudgetExhausted” format, we are using api version ‘2024-01’ and suddenly the api starts working differently?

Currently our application on production does not work correctly due to this change.

@Nix0id – really apologize for this change, sending complexityBudgetExhausted was a bug on our side that we then fixed. It took a few days because we deployed less during the holidays.

Again, I’m really sorry to hear that you updated your app to account for this bug, only for it to break again.

Even though we posted in this topic, in the future, we’ll use the announcements section to notify the whole community instead.

Hello,

I’ve read about the change and rollback mentioned here. I’d like to ask whether the rollback has been applied to all API users, as even after moving up to API version 2024-07 I am seeing the same error message format as pre-rollout

"errors":["Complexity budget exhausted, query cost 30001 budget remaining 9667 out of 10000000 reset in 58 seconds"],
"error_code":"ComplexityException",
"status_code":429,
"account_id":5493834}

This error was seen on May 8 US time. Function operates in an Australian cloud service.

We use the error_message field in the error response to automate a backoff-wait process and a reversion to the initial state (error_message field) would be good for us. While mentioning this, having a list of errors where the list is of variable length complicates the process, adding uncertainty.

Please advise on the future state of the error message so we can adapt to the API behaviour.

Thanks

Hey @WhyGraphQL,

Thanks for bringing this to our attention. I checked with the API team and the error should be fully reverted to its original format tomorrow.

Example taken from original post

{
  error_code: 'ComplexityException',
  status_code: 429,
  error_message: 'Complexity budget exhausted, query cost 30001 budget remaining 1772 out of 1000000 reset in 15 seconds',
  error_data: {},
  errors: [
    'Complexity budget exhausted, query cost 30001 budget remaining 1772 out of 1000000 reset in 15 seconds'
  ],
  account_id: 12787730
}

I apologize for any inconveniences/issues this has caused, but rest assured, it will be back to normal shortly!

Best,
Rachel

Hey @WhyGraphQL,

Just wanted to check in! Still having any issues?

Best,
Rachel

Hi Rachel,

Have checked and the issue has cleared. Thanks to you and the team.

2 Likes

Thank you for letting us know @WhyGraphQL !