Last updated Dec 16, 2019

Limits

Trello limits the number of objects (cards, checklists, stickers, etc.) that can exist on a board or card. The limits for each type of object and whether they are limited at the card or board level are available via the cards and boards API resources. Below we'll dive into what the various limits are and how you should consider them when using Trello's API.

For information regarding API rate-limiting, you can read about Trello's API rate limits here.

Your Limits May Vary

The responses below and the limits they contain are not meant to be the documented limits - they are only examples of the type and shape of response you can expect to receive back.

Limits may vary by boards and accounts. You should adjust your application to handle the responses and their values appropriately.

Board-level Limits

There are a number of objects in Trello that are limited at the board level. For instance, to see the limits that exist on a board, we can make the following request:

1
2
curl https://api.trello.com/1/boards/552595baa7b650edb7a0f8ff/?fields=limits

In the response we get back all of the limits that exist for the board:

1
2
{
  "id": "552595baa7b650edb7a0f8ff",
  "limits": {
    "boards": {
      "totalMembersPerBoard": {
        "status": "ok",
        "disableAt": 1520,
        "warnAt": 1440
      }
    },
    "cards": {
      "openPerBoard": {
        "status": "ok",
        "disableAt": 5000,
        "warnAt": 4500
      },
      "totalPerBoard": {
        "status": "ok",
        "disableAt": 2000000,
        "warnAt": 1800000
      }
    },
    "checklists": {
      "perBoard": {
        "status": "ok",
        "disableAt": 15200,
        "warnAt": 14400
      }
    },
    "labels": {
      "perBoard": {
        "status": "ok",
        "disableAt": 950,
        "warnAt": 900
      }
    },
    "lists": {
      "openPerBoard": {
        "status": "ok",
        "disableAt": 475,
        "warnAt": 450
      },
      "totalPerBoard": {
        "status": "ok",
        "disableAt": 2850,
        "warnAt": 2700
      }
    }
  }
}

​Looking at the cards values, we see the following limits enumerated:

1
2
{
  "id": "552595baa7b650edb7a0f8ff",
  "limits": {
  	// ...
    "cards": {
      "openPerBoard": {
        "status": "ok",
        "disableAt": 5000,
        "warnAt": 4500
      },
      "totalPerBoard": {
        "status": "ok",
        "disableAt": 2000000,
        "warnAt": 1800000
      }
    }
  }
}

The first set of values for the key openPerBoard indicates that Trello allows for 5000 open cards to exist per a board and that the Trello clients (web, mobile, desktop) will begin to warn users when they have 4500 cards open on a bard. The second object for key totalPerBoard means that Trello allows for 2000000 total cards (open or closed) to be on a board and that the clients will begin warning when there are 1800000.

The disableAt limit is the count at which the clients will no longer allow users to add objects of that kind. ​ The status field indicates whether the board is in violation of the current limits. In this case, the board hasn't exceeded these limits. When a board has exceeded one of the types of limits, the status will change and a count field and value appear.

For example, if our board were to have more cards than allowed for by the disableAt the limits would be updated:

1
2
{
  "id": "552595baa7b650edb7a0f8ff",
  "limits": {
    // ...
    "cards": {
      "openPerBoard": {
        "status": "disabled",
        "disableAt": 5000,
        "warnAt": 4500,
        "count": 4755
      },
      "totalPerBoard": {
        "status": "ok",
        "disableAt": 2000000,
        "warnAt": 1800000
      }
    }
  }
}

Similarly, if the count is above the warnAt limit, the status will change to warn.

Additionally, there is a maximum number for each limit above which the API will return an error if more objects are attempted to be added. The status of objects that exceeded the limits prior to their creation is maxExceeded.

Enforcing Disablement

Integrations should respect the disableAt limit and disallow users from continuing to add objects that exceed the limit.

Card-level Limits

We can also see limits that are specific to cards by including limits as a value for the fields query parameter when making requests to card resources:

1
2
curl https://trello.com/1/boards/552595baa7b650edb7a0f8ff/cards/?fields=limits&limit=1

The response we get back looks similar to the boards-level limits:

1
2
[
  {
    "id": "5525975961f51a39c0679aa2",
    "limits": {
      "attachments": {
        "perCard": {
          "status": "ok",
          "disableAt": 950,
          "warnAt": 900
        }
      },
      "checklists": {
        "perCard": {
          "status": "ok",
          "disableAt": 475,
          "warnAt": 450
        }
      },
      "stickers": {
        "perCard": {
          "status": "ok",
          "disableAt": 67,
          "warnAt": 63
        }
      }
    }
  }
]

The card-level limits function the exact same as the board-level limits outlined above.

Webhooks and Limits

​In addition to limiting the number of different types of objects that can exist on a board or card, we disallow creating new webhooks on objects that have exceeded their limits.

Attempting to create a webhook on an object that has exceeded its limits will result in the following error message: HTTP/1.1 500 Model exceeds limits ​ Webhooks that exist on models that have a limit status of maxExceeded will be deleted.

Rate this page: