To improve error consistency, we've released a bug fix that impacts the error response format for complexity budget exhausted errors. This fix applies to versions 2025-01 and later.

Now, errors are returned in the following format when the complexity budget is exhausted:

{ "errors": [ { "message": "Complexity budget exhausted", "extensions": { "code": "COMPLEXITY_BUDGET_EXHAUSTED", "complexity": 6182, "complexity_budget_left": 100, "complexity_budget_limit": 5000000, "retry_in_seconds": 60, "status_code": 429 } } ] }

You can now invite users to join a monday.com account using the new invite_users mutation. This is available in API versions 2025-04 and later.

mutation { invite_users (emails: ["test@monday.com", "test2@monday.com"], product: crm, user_role: VIEW_ONLY) { errors { message code email } invited_users { name id } } }

In API versions 2025-04 and later, you can create page break blocks using the create_doc_block mutation.

mutation { create_doc_block (type: page_break, doc_id: 1234567, after_block_id: "a3f6b7c9-ee2f-5b10-8921-cc47e7d745d3", content: "{\"alignment\":\"left\",\"direction\":\"ltr\"}") { id } }

In API versions 2025-01 and later, the updates query will return a maximum of 100 updates per page. To retrieve all updates, you'll need to paginate through the subsequent pages.

For example, the following query will return the first page of 100 updates. You can modify the page argument to return additional pages.

query { updates (page: 1) { id text_body } }

In 2025-01, we added the following fields to the timeline_item endpoint:

  • content: Returns the content of the timeline item
  • created_at: Returns the creation date of the timeline item
query { timeline_item (id: 1234567890) { board { id } item { name } id user { id name } title type content created_at } }

Starting in API version 2025-01, the account_id will no longer be returned in all responses by default. If you need the ID, you can still retrieve it through an account query.

Sample responses

2025-01 and later

{ "data": { "boards": [ { "id": "9876543210" } ] } }

2024-10 and earlier

{ "data": { "boards": [ { "id": "9876543210" } ] }, "account_id": 12345678 }

In API versions 2025-01 and later, you can activate users through the API using the new activate_users mutation!

mutation { activate_users (user_ids: [54321, 12345]) { activated_users { id name email } errors { user_id code message } } }

In API versions 2025-01 and later, you can query the Emails & Activities timeline of a specific item using the timeline object.

query { timeline (id: 1234567890, limit: 5, cursor: "TXlDb2RlU3RyaW5nMTIzNDU2NzgsNzg5MCxzb21lRGF0YT1Bbm90aGVyVmFsdWU=") { timeline_items_page { cursor } timeline_items { title custom_activity_id board { workspace_id } } } }

We have made a handful of improvements to our rate limits to help maintain a high-quality API and support optimal performance. Some of these updates include:

  1. Standardized error codes: Rate limit errors will now return a 429 HTTP error code to help standardize responses and simplify error handling.
  2. Retry-After header: Errors will now include the Retry-After header to indicate how long you need to wait before making another request.
  3. New rate limits: We've introduced new limits, including per-minute request limits and a concurrency limit. These changes help reduce the frequency of complexity limits, giving you more control over your API usage and providing a smoother developer experience.
  4. Daily limits: Daily request limits will be enforced for basic and standard accounts starting next week. Limits for pro and enterprise accounts will be gradually rolled out next year.

For more information, check out our rate limits documentation. Questions or comments? Add them here!