Breaking changes: New limits to the Items query after Oct 3rd

Later this year, we will be adding new limits to the root Items query:

  • The ids argument is now required
  • You cannot return more than 100 items per query

This change will go into effect on Sunday, October 3rd, so please review your applications' API usage to prevent any loss of functionality.

We recently added a rate limit to this use case, so you may have already adjusted your code to account for this!

We will remove references to this feature in our docs, but if you spot a mention that we missed shoot us a message at [email protected].

Examples of unsupported queries

Queries without the ids argument:

query {
  items (limit:1000) {
    id
    name
  }
}

Queries with more than 100 IDs:

query {
  items (ids:[1, 2, 3, 4, 5...99, 100, 101, 102]) {
    id
    name
  }
}

How should I respond to this change?

You can adjust your queries in these main ways:

  • Return items on a specific board only
  • Nesting the items query inside Boards
  • Looping through the boards on your account
  • Query less than 100 items at a time

Return items on a specific board

You can return items only on a specific board, by ID. Here's an example:

query {
  boards (ids:12345) {
    id
    name
    items (limit:100) {
      id
      name
    }
  }
}

Nesting the items query inside Boards

Queries without Items in the root will still work, so you can nest the items query within a boards query. Here's an example:

query { 
  boards (limit:10) { 
    items (limit:1000) { 
      id 
      name 
    } 
  } 
}

Looping through the boards on your account

If you are looking to return all items across your account, it is best practice to first query for the IDs of all the boards, and then get items a few boards at a time. For example:

First, query for the IDs of all the boards.

query { 
  boards (limit:50) { 
    id
  } 
}

Second, query and loop through each board in the first query.

query { 
   boards (ids: 1234567890) { 
     items (limit:50) { 
       name 
       id 
     } 
   } 
 }

Return less than 100 items at a time

Finally, you can continue to use the same query but restrict the query to a list of item IDs. Here's an example:

query {
  items (ids: [1, 2, 3, 4, 5... 99]) {
    name
		column_values {
			id
			value
		}
	}
}