The Trello API provides a number of ways to access data throughout Trello. Because of the nested nature of the Trello experience (cards are in lists that are in boards), a number of resources are accessible as nested entities. Additionally, the API allows you to get at nested resources as URL parameters as well as query parameters.
For instance, if you wanted to get all of the cards for a board you could use:
https://api.trello.com/1/boards/{boardId}/cards
or
https://api.trello.com/1/boards/{boardId}/?cards=all
Because a lot of the fields and values are duplicative, we've included a section of documentation for each resource that outlines how it can be accessed as a nested resource either via the URL or a query parameter.
A number of the parameters accept a comma-seperated list of fields for the given object. You should refer to the API reference or Object Defintion page for the given object to see details about each field.
Actions are often included as nested resources within the Trello API. Their highly-nested nature is due to the fact that actions are created within the context of other resources. For instance, when a user adds another user to a board, Trello creates an addMemberToBoard
action that references the board. Therefore, it makes sense to be able to access all of the actions within the context of an object from which they were created.
Parameter | Valid Values | Default | Description |
---|---|---|---|
actions_entities boolean | true, false | false | Boolean to return actions' entities or not. |
actions_display boolean | true, false | false | Boolean to return actions' display or not. |
actions_format string | One of: count, list, or minimal | list | The format that actions should be returned in. |
actions_since string | ISO-formmatted Date or Mongo ID | none | The maximum date for when the actions were created. Ex: actions_since=2022-04-22 |
actions_before string | ISO-formmatted Date or Mongo ID | none | The minumum date for when the actions were created. Ex: actions_before=2022-04-22 |
actions_limit integer | Number between 0 and 1000 | 50 | The number of action objects to be returned. |
action_fields string | Comma-separated list of Action Object Fields. | all | The fields to be returned for the action object. |
action_member boolean | true, false | true | Determines whether to return the member object for the action. |
action_member_fields string | Comma-separated list of Member Object Fields | avatarHash, fullName, initials, username | The fields to be returned if the member object is being returned. |
action_memberCreator boolean | Bool | true | Determines whether to return the memberCreator object for the action. |
action_memberCreator_fields string | Comma-separated list of Member Object Fields | avatarHash,fullName,initials,username | The fields to be returned if the memberCreator object is being returned. |
1 2curl https://api.trello.com/1/boards/BdarzfKF/?fields=id&actions=addAttachmentToCard&actions_limit=2&action_fields=idMemberCreator&action_memberCreator_fields=fullName
And the result of the above request:
1 2{ "id": "54a17d76d4a5072e3931736b", "actions": [ { "id": "54a1b7c3a6ea7c2b1eaa5cdf", "idMemberCreator": "53baf533e697a982248cd73f", "memberCreator": { "id": "53baf533e697a982248cd73f", "fullName": "Lauren Moon" } }, { "id": "54a1b73f030916211e718516", "idMemberCreator": "53baf533e697a982248cd73f", "memberCreator": { "id": "53baf533e697a982248cd73f", "fullName": "Lauren Moon" } } ] }
/object/{id}/actions
Parameter | Valid Values | Default | Description |
---|---|---|---|
entities boolean | true, false | false | Boolean to return actions' entities or not. |
display boolean | true, false | false | Boolean to return actions' display or not. |
filter string | Comma-separated list of Action Types. | commentCard, updateCard:idList | Determines the types of actions to be returned. You can specify all to return all action types. |
fields string | Comma-separated list of Action Object Fields. | all | A comma-separated list of Action Object Fields to be included in the returned action objects. |
limit integer | Number between 0 and 1000 | 50 | The number of action objects to be returned. |
format string | One of: count, list, or minimal | list | The format that actions should be returned in. |
since string | ISO-formmatted Date or Mongo ID | none | The maximum date for when the actions were created. Ex: since=2022-04-22 |
before string | ISO-formmatted Date or Mongo ID | none | The maximum date for when the actions were created. Ex: before=2022-04-22 |
page integer | 0 or positive integer | 0 | The page of results to display. Each page as results equal to the set limit . |
idModels string | Comma-separated list of model IDs | none | The id of action models to display. |
member boolean | true, false | true | Determines whether to return the member object for the action. |
member_fields string | Comma-separated list of Member Object Fields | avatarHash, fullName, initials, username | The fields to be returned if the member object is being returned. |
memberCreator boolean | true, false | true | Determines whether to return the memberCreator object for the action. |
memberCreator_fields string | Comma-separated list of Member Object Fields | avatarHash,fullName,initials,username | The fields to be returned if the memberCreator object is being returned. |
1 2curl https://trello.com/1/cards/NQNX2tzL/actions?fields=id,data&since=2022-04-22&memberCreator=false
Boards are accessible as nested resources via a number of other resources.
For objects that can contain multiple boards, like organizations
and members
/1/{object}/{id}?boards=open
Key | Value |
---|---|
boards | Default: none all or a comma-separated list of:- open - Returns all boards that are open. - closed - Returns all boards that have been closed. - members - Returns all boards that have visibility set to Private. - organization - Returns all boards that have visibility set to Workspace. - public - Returns all boards that have visibility set to Public. - starred - Returns all boards that have been starred. |
board_fields | Default: all all or a comma-separated list of board fields |
board_actions | all or a comma-separated list of: - addAttachmentToCard - addChecklistToCard - addMemberToBoard - addMemberToCard - addMemberToOrganization - addToOrganizationBoard - commentCard - convertToCardFromCheckItem - copyBoard - copyCard - copyCommentCard - createBoard - createCard - createList - createOrganization - deleteAttachmentFromCard - deleteBoardInvitation - deleteCard - deleteOrganizationInvitation - disablePowerUp - emailCard - enablePowerUp - makeAdminOfBoard - makeNormalMemberOfBoard - makeNormalMemberOfOrganization - makeObserverOfBoard - memberJoinedTrello - moveCardFromBoard - moveCardToBoard - moveListFromBoard - moveListToBoard - removeChecklistFromCard - removeFromOrganizationBoard - removeMemberFromCard - unconfirmedBoardInvitation - unconfirmedOrganizationInvitation - updateBoard - updateCard - updateCard:closed - updateCard:desc - updateCard:idList - updateCard:name - updateCheckItemStateOnCard - updateChecklist - updateList - updateList:closed - updateList:name - updateMember - updateOrganization See also: Action Types |
board_actions_entities | Default: false true or false |
board_actions_display | Default: false true or false |
board_actions_format | Default: list One of: count , list , minimal |
board_actions_since | A date, null , or lastView |
board_actions_limit | Default: 50 Max: 1000 |
board_action_fields | all or a comma-separated list of action fields |
board_lists | Default: none One of: all , closed , none , open |
Cards are available as nested resources within many of the other Trello resources. Below are the parameters that are available to cards as nested resources.
Don't get confused!
Cards can be nested as query params and as URL params.
If your route looks like 1/boards/{boardId}/cards
you're going to want to head down to Nested Cards as URL Params.
If your route looks like 1/boards/{boardId}?cards
you're in the right spot! The parameters directly below are available to you.
Parameter | Options |
---|---|
cards | Default: None Options: one of: - all - closed - none - open - Includes cards that are open in lists that have been archived.- visible - Only returns cards in lists that are not closed. |
card_fields | Default: all Options: all or a comma-separated list of card fields |
card_members | Default: false Options: true or false |
card_member_fields | Default: id,avatarHash,avatarUrl,initials,fullName,username,confirmed,memberType Options: all or a comma-separated list of member fields |
card_attachments | Options: true , false , or cover |
card_attachment_fields | Default: url,previews Options: all or a comma-separated list of attachment fields |
card_stickers | Default: false Options: true or false |
card_modifiedSince | Default: none Options: ISO Timestamp (eg: 2018-08-07T17:02:24.030Z or MongoID |
card_customFieldItems | Default: false Options: false or true to include customFieldItems in the response |
Cards are also available as nested resources via URL parameters. For instance, you may want just the cards belonging to a specific resource like a list or a board; in that case you'd use the route /1/boards/{id}/cards
with any of the options below as query parameters.
Parameter | Options |
---|---|
actions | all or a comma-separated list of: - addAttachmentToCard - addChecklistToCard - addMemberToBoard - addMemberToCard - addMemberToOrganization - addToOrganizationBoard - commentCard - convertToCardFromCheckItem - copyBoard - copyCard - copyCommentCard - createBoard - createCard - createList - createOrganization - deleteAttachmentFromCard - deleteBoardInvitation - deleteCard - deleteOrganizationInvitation - disablePowerUp - emailCard - enablePowerUp - makeAdminOfBoard - makeNormalMemberOfBoard - makeNormalMemberOfOrganization - makeObserverOfBoard - memberJoinedTrello - moveCardFromBoard - moveCardToBoard - moveListFromBoard - moveListToBoard - removeChecklistFromCard - removeFromOrganizationBoard - removeMemberFromCard - unconfirmedBoardInvitation - unconfirmedOrganizationInvitation - updateBoard - updateCard - updateCard:closed - updateCard:desc - updateCard:idList - updateCard:name - updateCheckItemStateOnCard - updateChecklist - updateList - updateList:closed - updateList:name - updateMember - updateOrganization Note: If you ask for actions, Trello limits the number returned to 300 . |
attachments | Default: false Either a boolean value or cover for only cover attachments |
attachment_fields | Default: all all or a comma-separated list of: - bytes - date - edgeColor - idMember - isUpload - mimeType - name - previews - url |
customFieldItems | Default: false One of: true , false Check out Getting Started With Custom Fields for more on Custom Fields. |
stickers | Default: false One of: true , false |
members | Default: false One of: true , false |
member_fields | Default: avatarHash,fullName,initials,username all or a comma-separated list of: - avatarHash - bio - bioData - confirmed - fullName - idPremOrgsAdmin - initials - memberType - products - status - url - username |
checkItemStates | Default: false One of: true , false |
checklists | Default: none One of: all , none |
limit | A number from 1 to 1000 |
sort | Default: none One of: -id |
since | A date, or null |
before | A date, or null |
filter | Default: visible One of: all , closed , none , open , visible |
fields | Default: all all or a comma-separated list of: - badges - checkItemStates - closed - dateLastActivity - desc - descData - due - idAttachmentCover - idBoard - idChecklists - idLabels - idList - idMembers - idMembersVoted - idShort - labels - limits - manualCoverAttachment - name - pos - shortLink - shortUrl - subscribed - url |
pluginData | Default: false One of: true , false |
Here's an example using the cards nested resource to get the visible cards in a list:
1 2curl https://api.trello.com/1/lists/560bf44ea68b16bd0fc2a9a9/cards?fields=id,name,badges,labels
1 2[ { "id": "560bf4dd7139286471dc009c", "name": "Grand Canyon National Park", "badges": { "votes": 0, "viewingMemberVoted": false, "subscribed": false, "fogbugz": "", "checkItems": 0, "checkItemsChecked": 0, "comments": 0, "attachments": 2, "description": false, "due": null, "dueComplete": false }, "labels": [ { "id": "560bf42919ad3a5dc29f33c5", "idBoard": "560bf4298b3dda300c18d09c", "name": "Visited", "color": "green" } ] }, { "id": "560bf4e25d93437b729482e0", "name": "Petrified Forest National Park", "badges": { "votes": 0, "viewingMemberVoted": false, "subscribed": false, "fogbugz": "", "checkItems": 0, "checkItemsChecked": 0, "comments": 0, "attachments": 1, "description": false, "due": null, "dueComplete": false }, "labels": [ ] }, { "id": "560bf4e5ea91d2880f5dd840", "name": "Saguaro National Park", "badges": { "votes": 0, "viewingMemberVoted": false, "subscribed": false, "fogbugz": "", "checkItems": 0, "checkItemsChecked": 0, "comments": 0, "attachments": 1, "description": false, "due": null, "dueComplete": false }, "labels": [ { "id": "560bf42919ad3a5dc29f33c5", "idBoard": "560bf4298b3dda300c18d09c", "name": "Visited", "color": "green" } ] } ]
Checklists are available as nested resources within many of the other Trello resources. Below are the parameters that are available to Checklists as nested resources.
The table below shows query params available when accessing cards as a nested resource via query params. For instance, the query params are available when you are accessing cards via: /object/{id}?checklists=all
.
Parameter | Options |
---|---|
checklists | One of: none or all |
checklist_fields | Default: all all or a comma separated list of checklist fields as documented on the Checklist Object. |
Here's an example using the checklists nested resource to get all of the checklists on a board:
1 2curl https://api.trello.com/1/boards/v5sRYGdh/?fields=name&checklists=all
And the response:
1 2{ "id": "544a947a60022d7de4d28187", "name": "Connor's 8th Birthday Bash", "checklists": [ { "id": "544a947b60022d7de4d281f1", "name": "Chores", "idBoard": "544a947a60022d7de4d28187", "idCard": "544a947b60022d7de4d281aa", "pos": 16384, "checkItems": [ { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f2", "name": "Vacuum carpet", "nameData": null, "pos": 16683, "due": null, "dueReminder": null, "idMember": null }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f3", "name": "Clean stove", "nameData": null, "pos": 33312, "due": null, "dueReminder": null, "idMember": null }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f4", "name": "Arrange coat closet", "nameData": null, "pos": 50543, "due": null, "dueReminder": null, "idMember": null }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f5", "name": "Clean out fridge", "nameData": null, "pos": 67424, "due": "2022-11-26T02:00:00.000Z", "dueReminder": -1, "idMember": "544a947b60022d7de4d281f6" } ] } ] }
Checklists are also available as nested resources via URL parameters. For instance, you may want just the Checklists belonging to a specific resource like a list or a card; in that case you'd use the route /1/cards/{id}/checklists
with any of the options below as query parameters.
Parameter | Options |
---|---|
fields | Default: all all or a comma separated list of checklist fields. |
cards | Values outlined in Cards Nested Resource documentation above. |
filter | Default: all One of: none or all |
checkItems | Default: all One of: none or all |
checkItem_fields | Default: name , nameData , pos , due , dueReminder , idMember , state all or a comma-separated list of: - name - nameData - type - pos - state - creationMethod - due - dueReminder - idMember |
Here's an example using the checklists nested resource to get all of the checklists on a board:
1 2curl https://api.trello.com/1/boards/v5sRYGdh/checklists?fields=all
And the response:
1 2[ { "id": "544a947b60022d7de4d281f1", "name": "Chores", "idBoard": "544a947a60022d7de4d28187", "idCard": "544a947b60022d7de4d281aa", "pos": 16384, "limits": { "checkItems": { "perChecklist": { "status": "ok", "disableAt": 200, "warnAt": 180 } } }, "creationMethod": null, "checkItems": [ { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f2", "name": "Vacuum carpet", "nameData": null, "pos": 16683, "due": null, "dueReminder": null, "idMember": null }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f3", "name": "Clean stove", "nameData": null, "pos": 33312, "due": null, "dueReminder": null, "idMember": null }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f4", "name": "Arrange coat closet", "nameData": null, "pos": 50543, "due": "2022-11-26T02:00:00.000Z", "dueReminder": -1, "idMember": "544a947b60022d7de4d281f6" }, { "idChecklist": "544a947b60022d7de4d281f1", "state": "incomplete", "id": "544a947b60022d7de4d281f5", "name": "Clean out fridge", "nameData": null, "pos": 67424, "due": null, "dueReminder": null, "idMember": null } ] } ]
Custom fields can be included as a nested resource. The only parameter is whether to include the custom fields.
Parameter | Options |
---|---|
customFields | Default: false true : include the custom fields. |
Labels are often included as a nested resource in Trello. Below you will find parameters available when working with labels as nested resources.
Query Parameter | Default | Valid Values |
---|---|---|
labels | none | One of: all or none |
label_fields | all | all or a comma-seperated list of: color , idBoard , name , uses . |
labels_limit | 50 | A number from 0 to 1000 . |
1 2curl https://api.trello.com/1/boards/kpPww9qv/?labels=all&label_fields=color&labels_limit=2&fields=id
And the response:
1 2{ "id": "543efd0c05d2a3ebc06a6534", "labels": [ { "id": "546689ef74d650d567ffdd87", "color": "green" }, { "id": "546689ef74d650d567ffdd8a", "color": "purple" } ] }
URL Parameter | Default | Valid Values |
---|---|---|
label_fields | all | all or a comma-seperated list of: color , idBoard , name , uses . |
labels_limit | 50 | A number from 0 to 1000 . |
1 2https://api.trello.com/1/boards/kpPww9qv/labels/?fields=color&limit=2
And the response:
1 2[ { "id": "546689ef74d650d567ffdd87", "color": "green" }, { "id": "546689ef74d650d567ffdd8a", "color": "purple" } ]
Lists are available as nested resources within many of the other Trello resources. Below are the parameters that are available to lists as nested resources.
The table below shows query params available when accessing lists as a nested resource via query params. For instance, the query params are available when you are accessing lists via: /object/{id}?lists=open
.
Query Parameter | Valid Values | Description |
---|---|---|
lists Default: none | One of: all , closed , none , open | Which types lists should be returned. |
list_fields Default: all | all or a comma separated list of list object fields | Which fields from the list object should be returned |
Here is an example of using the lists nested resource on the boards
endpoint:
1 2curl https://api.trello.com/1/boards/k7hfpqQm/?fields=name&lists=all&list_fields=all
And the response:
1 2{ "id": "5ac61a2e05fae550b0d45c93", "name": "VR Education Academic Paper Tracker", "lists": [ { "id": "5ac61a2e05fae550b0d45c94", "name": "Prompts", "closed": false, "idBoard": "5ac61a2e05fae550b0d45c93", "pos": 98303, "subscribed": false, "limits": { "cards": { "openPerList": { "status": "ok", "disableAt": 5000, "warnAt": 4500 }, "totalPerList": { "status": "ok", "disableAt": 1000000, "warnAt": 900000 } } }, "creationMethod": null } ] }
Lists are also available as nested resources via URL parameters. For instance, you may want just the lists belonging to a specific resource like a board; in that case you'd use the route /1/boards/{id}/lists
with any of the options below as query parameters.
URL Parameter | Valid Values | Description |
---|---|---|
filter Default: none | One of: all , closed , none , open | Which types lists should be returned. |
list_fields Default: all | all or a comma separated list of list object fields | Which fields from the list object should be returned |
Here is an example of using the lists nested resource on the boards
endpoint:
1 2curl https://api.trello.com/1/boards/k7hfpqQm/lists?fields=all&filter=all
And the response:
1 2[ { "id": "5ac61a2e05fae550b0d45c94", "name": "Prompts", "closed": false, "idBoard": "5ac61a2e05fae550b0d45c93", "pos": 98303, "subscribed": null, "limits": { "cards": { "openPerList": { "status": "ok", "disableAt": 5000, "warnAt": 4500 }, "totalPerList": { "status": "ok", "disableAt": 1000000, "warnAt": 900000 } } }, "creationMethod": null } ]
Members are available as nested resources within many of the other Trello resources. Below are the parameters that are available to members as nested resources.
The table below shows query params available when accessing members as a nested resource via query params. For instance, the query params are available when you are accessing boards via: /1/boards/{id}?members=all
.
Query Parameter | Valid Values | Description |
---|---|---|
members Default: none | One of: none , normal , admins , owners , all | Which types of members should be returned. |
member_fields Default: id,avatarHash,avatarUrl,initials,fullName,username,confirmed,memberType | ||
` | all or a comma separated list of list Member fields | Which fields from the member object should be returned |
Members on cards
When accessing members on cards, there is no differentiation and you will instead want to use ?members=true
to include them in the response.
Members are also available as nested resources via URL parameters. For instance, you may want just the members belonging to a specific board; in that case you'd use the route /1/boards/{id}/members
with any of the options below as query parameters.
URL Parameter | Valid Values | Description |
---|---|---|
fields Default: id,fullName,username | all or a comma-separated list of: - avatarHash - avatarUrl - bio - bioData - confirmed - fullName - idEnterprisesDeactivated - idPremOrgsAdmin - initials - memberType - products - status - url - username | Which fields from the member object should be returned. |
/object/{id}?notifications=all...
Query Parameter | Default | Options |
---|---|---|
notifications | all or a comma-separated list of: - addAdminToBoard - addAdminToOrganization - addedAttachmentToCard - addedMemberToCard - addedToBoard - addedToCard - addedToCheckItem - addedToOrganization - cardDueSoon - changeCard - changeCheckItemDue - checkItemDueSoon - closeBoard - commentCard - createdCard - declinedInvitationToBoard - declinedInvitationToOrganization - invitedToBoard - invitedToOrganization - makeAdminOfBoard - makeAdminOfOrganization - memberJoinedTrello - mentionedOnCard - removedFromBoard - removedFromCard - removedFromOrganization - removedMemberFromCard - unconfirmedInvitedToBoard - unconfirmedInvitedToOrganization - updateCheckItemStateOnCard | |
notifications_entities boolean | false | true or false |
notifications_display boolean | false | true or false |
notifications_limit | 50 | Max: 1000 |
notification_fields | all | all or a comma-separated list of: - data - date - idMemberCreator - type - unread |
notification_memberCreator | true | true or false |
notification_memberCreator_fields | avatarHash,fullName,initials,username | all or a comma-separated list of member fields |
notification_before | An ID or null | |
notification_since | An ID or null |
Reactions are often included as nested resources within the Trello API. Their highly-nested nature is due to the fact that reactions are created within the context of actions.
For instance, when a user reacts to a comment on a card, Trello creates a reaction that references the action. Therefore, it makes sense to be able to access all of the reactions within the context of the action on which they were created.
Parameter | Valid Values | Default | Description |
---|---|---|---|
reactions boolean | true , false | false | Boolean to return reactions entities or not. |
reactionsSummary boolean | true , false | false | Boolean to return reactions summary entities or not. |
reactions_member boolean | true , false | true | Boolean to return nested member entities for reactions or not. |
reactions_member_fields string | String | avatarHash,avatarUrl,fullName,initials,username | The fields to be returned if the member object is being returned. |
reactions_emoji boolean | true , false | true | Boolean to return nested emoji entities for reactions or not. |
1 2curl --request GET \ --url https://api.trello.com/1/actions/id?reactions=true
And the response:
1 2{ "id": "5afc2c98bb0aa3d078e30be4", "reactions": [ { "id": "5afeec8fb0850e36938e465b", "idMember": "54f8181e733cf3c45ec056be", "idModel": "5afc2c98bb0aa3d078e30be4", "idEmoji": "1F64C", "member": { "id": "54f8181e733cf3c45ec056be", "avatarHash": "0fdb1227362c631f7dddaebedbe13f07", "avatarUrl": "https://trello-avatars.s3.amazonaws.com/0fdb1227362c631f7dddaebedbe13f07", "fullName": "Felix Haehnel", "initials": "FH", "username": "fhaehnel" }, "emoji": { "unified": "1F64C", "native": "🙌", "name": "PERSON RAISING BOTH HANDS IN CELEBRATION", "skinVariation": null, "shortName": "raised_hands" } } ] }
1 2curl --request GET \ --url https://api.trello.com/1/cards/id?actions=commentCard&action_reactions=true
1 2{ "id": "5a2ee8e4c0fddff47c596129", "actions": [ { "id": "5afc2c98bb0aa3d078e30be4", "reactions": [ { "id": "5afeec8fb0850e36938e465b", "idMember": "54f8181e733cf3c45ec056be", "idModel": "5afc2c98bb0aa3d078e30be4", "idEmoji": "1F64C", "member": { "id": "54f8181e733cf3c45ec056be", "avatarHash": "0fdb1227362c631f7dddaebedbe13f07", "avatarUrl": "https://trello-avatars.s3.amazonaws.com/0fdb1227362c631f7dddaebedbe13f07", "fullName": "Felix Haehnel", "initials": "FH", "username": "fhaehnel" }, "emoji": { "unified": "1F64C", "native": "🙌", "name": "PERSON RAISING BOTH HANDS IN CELEBRATION", "skinVariation": null, "shortName": "raised_hands" } } ] } ] }
Rate this page: