openapi: 3.1.0
info:
title: Trello REST API
description: >-
The Trello REST API provides programmatic access to Trello boards, lists,
cards, members, labels, checklists, and other resources that make up the
Trello project management platform. Developers can create, read, update,
and delete Trello objects, manage team collaboration workflows, and
automate task management processes. The API uses key and token based
authentication and returns JSON responses for all endpoints.
version: '1'
contact:
name: Atlassian Developer Support
url: https://developer.atlassian.com/support
termsOfService: https://www.atlassian.com/legal/cloud-terms-of-service
externalDocs:
description: Trello REST API Documentation
url: https://developer.atlassian.com/cloud/trello/rest/
servers:
- url: https://api.trello.com/1
description: Trello API v1 Production Server
tags:
- name: Actions
description: >-
Operations for retrieving and managing actions, which represent activity
events that occur on Trello objects such as boards, lists, and cards.
- name: Boards
description: >-
Operations for creating, retrieving, updating, and deleting boards, as
well as managing board memberships, lists, cards, labels, and other
board-level resources.
- name: Cards
description: >-
Operations for creating, retrieving, updating, and deleting cards,
including managing card attachments, checklists, comments, labels,
members, and stickers.
- name: Checklists
description: >-
Operations for creating, retrieving, updating, and deleting checklists
and their check items on cards.
- name: CustomFields
description: >-
Operations for creating, retrieving, updating, and deleting custom field
definitions and their values on boards and cards.
- name: Labels
description: >-
Operations for creating, retrieving, updating, and deleting labels on
boards and cards.
- name: Lists
description: >-
Operations for creating, retrieving, updating, and archiving lists on
boards.
- name: Members
description: >-
Operations for retrieving and updating member profiles, boards,
organizations, and notification settings.
- name: Notifications
description: >-
Operations for retrieving and managing member notifications about
activity on boards, cards, and other Trello objects.
- name: Organizations
description: >-
Operations for creating, retrieving, updating, and deleting Trello
workspaces (organizations), including managing workspace members and
settings.
- name: Plugins
description: >-
Operations for managing Power-Up plugins, including listing, updating,
and creating plugin marketplace listings.
- name: Search
description: >-
Operations for searching across Trello boards, cards, members, and
organizations using query strings.
- name: Tokens
description: >-
Operations for retrieving and deleting API tokens and their associated
webhooks.
- name: Webhooks
description: >-
Operations for creating, retrieving, updating, and deleting webhooks
that deliver real-time notifications when Trello models change.
security:
- apiKey: []
apiToken: []
paths:
/actions/{id}:
get:
operationId: getAction
summary: Get an Action
description: >-
Retrieves a single action by its identifier. Actions represent events
that have occurred on Trello objects.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the action.
content:
application/json:
schema:
$ref: '#/components/schemas/Action'
'401':
description: Unauthorized. Invalid or missing API key and token.
'404':
description: Action not found.
put:
operationId: updateAction
summary: Update an Action
description: >-
Updates the text of a comment action. Only comment actions can be
updated.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
- name: text
in: query
description: The new text for the comment action.
required: true
schema:
type: string
responses:
'200':
description: Successfully updated the action.
content:
application/json:
schema:
$ref: '#/components/schemas/Action'
'401':
description: Unauthorized.
'404':
description: Action not found.
delete:
operationId: deleteAction
summary: Delete an Action
description: >-
Deletes a comment action. Only comment actions can be deleted.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully deleted the action.
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/{field}:
get:
operationId: getActionField
summary: Get a specific field of an Action
description: >-
Retrieves a single field value from an action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
- name: field
in: path
required: true
description: The field to retrieve from the action.
schema:
type: string
enum:
- id
- idMemberCreator
- data
- type
- date
- limits
- display
- memberCreator
responses:
'200':
description: Successfully retrieved the field value.
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/board:
get:
operationId: getActionBoard
summary: Get the Board for an Action
description: >-
Retrieves the board associated with a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the board.
content:
application/json:
schema:
$ref: '#/components/schemas/Board'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/card:
get:
operationId: getActionCard
summary: Get the Card for an Action
description: >-
Retrieves the card associated with a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the card.
content:
application/json:
schema:
$ref: '#/components/schemas/Card'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/list:
get:
operationId: getActionList
summary: Get the List for an Action
description: >-
Retrieves the list associated with a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the list.
content:
application/json:
schema:
$ref: '#/components/schemas/TrelloList'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/member:
get:
operationId: getActionMember
summary: Get the Member of an Action
description: >-
Retrieves the member who was the subject of a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the member.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/memberCreator:
get:
operationId: getActionMemberCreator
summary: Get the Member Creator of an Action
description: >-
Retrieves the member who created a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the member creator.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/organization:
get:
operationId: getActionOrganization
summary: Get the Organization for an Action
description: >-
Retrieves the organization (workspace) associated with a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the organization.
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'401':
description: Unauthorized.
'404':
description: Action not found.
/actions/{id}/reactions:
get:
operationId: getActionReactions
summary: List Reactions for an Action
description: >-
Retrieves all emoji reactions on a given action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved the reactions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Reaction'
'401':
description: Unauthorized.
'404':
description: Action not found.
post:
operationId: createActionReaction
summary: Create a Reaction for an Action
description: >-
Adds an emoji reaction to an action.
tags:
- Actions
parameters:
- $ref: '#/components/parameters/idParam'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
shortName:
type: string
description: The short name of the emoji to react with.
skinVariation:
type: string
description: The skin variation of the emoji.
native:
type: string
description: The native emoji character.
unified:
type: string
description: The unified code of the emoji.
responses:
'200':
description: Successfully created the reaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Reaction'
'401':
description: Unauthorized.
'404':
description: Action not found.
/boards:
post:
operationId: createBoard
summary: Create a Board
description: >-
Creates a new Trello board with the specified name and optional settings
such as description, organization, permission level, and initial
configuration.
tags:
- Boards
parameters:
- name: name
in: query
required: true
description: The name for the new board.
schema:
type: string
minLength: 1
maxLength: 16384
- name: defaultLabels
in: query
description: Whether to apply the default set of labels to the board.
schema:
type: boolean
default: true
- name: defaultLists
in: query
description: Whether to add the default set of lists to the board.
schema:
type: boolean
default: true
- name: desc
in: query
description: A description for the board.
schema:
type: string
maxLength: 16384
- name: idOrganization
in: query
description: The ID or name of the organization (workspace) the board should belong to.
schema:
type: string
- name: idBoardSource
in: query
description: The ID of a board to copy into the new board.
schema:
type: string
- name: prefs_permissionLevel
in: query
description: The permissions level of the board.
schema:
type: string
enum:
- org
- private
- public
default: private
- name: prefs_voting
in: query
description: Who can vote on the board.
schema:
type: string
enum:
- disabled
- members
- observers
- org
- public
default: disabled
- name: prefs_comments
in: query
description: Who can comment on cards on the board.
schema:
type: string
enum:
- disabled
- members
- observers
- org
- public
default: members
- name: prefs_background
in: query
description: The background color or image for the board.
schema:
type: string
default: blue
- name: prefs_cardAging
in: query
description: The style of card aging to apply to the board.
schema:
type: string
enum:
- pirate
- regular
default: regular
- name: prefs_selfJoin
in: query
description: Whether workspace members can join the board themselves.
schema:
type: boolean
default: true
responses:
'200':
description: Successfully created the board.
content:
application/json:
schema:
$ref: '#/components/schemas/Board'
'400':
description: Bad request. Missing required parameters.
'401':
description: Unauthorized.
/boards/{id}:
get:
operationId: getBoard
summary: Get a Board
description: >-
Retrieves a single board by its identifier, including its fields and
optionally nested resources.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: actions
in: query
description: A comma-separated list of action types to include.
schema:
type: string
- name: boardStars
in: query
description: Whether to include board stars.
schema:
type: string
enum:
- mine
- none
- name: cards
in: query
description: Filter cards to include.
schema:
type: string
enum:
- all
- closed
- none
- open
- visible
default: none
- name: card_fields
in: query
description: A comma-separated list of card fields to include.
schema:
type: string
- name: checklists
in: query
description: Whether to include checklists.
schema:
type: string
enum:
- all
- none
default: none
- name: fields
in: query
description: A comma-separated list of board fields to include.
schema:
type: string
default: name,desc,descData,closed,idOrganization,pinned,url,shortUrl,prefs,labelNames
- name: labels
in: query
description: Whether to include labels.
schema:
type: string
enum:
- all
- none
- name: lists
in: query
description: Filter lists to include.
schema:
type: string
enum:
- all
- closed
- none
- open
default: none
- name: members
in: query
description: Whether to include members.
schema:
type: string
enum:
- admins
- all
- none
- normal
- owners
default: none
- name: memberships
in: query
description: Whether to include memberships.
schema:
type: string
- name: organization
in: query
description: Whether to include the organization.
schema:
type: boolean
default: false
responses:
'200':
description: Successfully retrieved the board.
content:
application/json:
schema:
$ref: '#/components/schemas/Board'
'401':
description: Unauthorized.
'404':
description: Board not found.
put:
operationId: updateBoard
summary: Update a Board
description: >-
Updates a board's fields, including name, description, preferences, and
organizational settings.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
description: The new name for the board.
schema:
type: string
minLength: 1
maxLength: 16384
- name: desc
in: query
description: The new description for the board.
schema:
type: string
maxLength: 16384
- name: closed
in: query
description: Whether the board is closed (archived).
schema:
type: boolean
- name: subscribed
in: query
description: Whether the authenticated member is subscribed to the board.
schema:
type: boolean
- name: idOrganization
in: query
description: The ID of the organization to move the board to.
schema:
type: string
- name: prefs/permissionLevel
in: query
description: The permission level for the board.
schema:
type: string
enum:
- org
- private
- public
- name: prefs/selfJoin
in: query
description: Whether workspace members can join the board themselves.
schema:
type: boolean
- name: prefs/cardCovers
in: query
description: Whether card covers are enabled.
schema:
type: boolean
- name: prefs/hideVotes
in: query
description: Whether votes are hidden until voting is complete.
schema:
type: boolean
- name: prefs/background
in: query
description: The background for the board.
schema:
type: string
- name: prefs/cardAging
in: query
description: The card aging style.
schema:
type: string
enum:
- pirate
- regular
- name: labelNames/green
in: query
description: Name for the green label.
schema:
type: string
- name: labelNames/yellow
in: query
description: Name for the yellow label.
schema:
type: string
- name: labelNames/orange
in: query
description: Name for the orange label.
schema:
type: string
- name: labelNames/red
in: query
description: Name for the red label.
schema:
type: string
- name: labelNames/purple
in: query
description: Name for the purple label.
schema:
type: string
- name: labelNames/blue
in: query
description: Name for the blue label.
schema:
type: string
responses:
'200':
description: Successfully updated the board.
content:
application/json:
schema:
$ref: '#/components/schemas/Board'
'401':
description: Unauthorized.
'404':
description: Board not found.
delete:
operationId: deleteBoard
summary: Delete a Board
description: >-
Permanently deletes a board. This action cannot be undone.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully deleted the board.
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/actions:
get:
operationId: getBoardActions
summary: Get Actions for a Board
description: >-
Retrieves a list of actions (activity events) associated with a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: filter
in: query
description: A comma-separated list of action types to filter by.
schema:
type: string
- name: limit
in: query
description: The maximum number of actions to return.
schema:
type: integer
minimum: 0
maximum: 1000
default: 50
responses:
'200':
description: Successfully retrieved board actions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Action'
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/cards:
get:
operationId: getBoardCards
summary: Get Cards on a Board
description: >-
Retrieves all cards on a board, with optional filtering.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: fields
in: query
description: A comma-separated list of card fields to return.
schema:
type: string
responses:
'200':
description: Successfully retrieved board cards.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Card'
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/cards/{filter}:
get:
operationId: getBoardCardsFilter
summary: Get Filtered Cards on a Board
description: >-
Retrieves cards on a board filtered by status.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: filter
in: path
required: true
description: The filter to apply to the cards.
schema:
type: string
enum:
- all
- closed
- none
- open
- visible
responses:
'200':
description: Successfully retrieved filtered board cards.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Card'
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/checklists:
get:
operationId: getBoardChecklists
summary: Get Checklists on a Board
description: >-
Retrieves all checklists on a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved board checklists.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Checklist'
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/labels:
get:
operationId: getBoardLabels
summary: Get Labels on a Board
description: >-
Retrieves all labels defined on a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: fields
in: query
description: A comma-separated list of label fields to return.
schema:
type: string
default: all
- name: limit
in: query
description: Maximum number of labels to return.
schema:
type: integer
minimum: 0
maximum: 1000
default: 50
responses:
'200':
description: Successfully retrieved board labels.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Label'
'401':
description: Unauthorized.
'404':
description: Board not found.
post:
operationId: createBoardLabel
summary: Create a Label on a Board
description: >-
Creates a new label on a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
required: true
description: The name for the label.
schema:
type: string
- name: color
in: query
required: true
description: The color for the label.
schema:
type: string
enum:
- yellow
- purple
- blue
- red
- green
- orange
- black
- sky
- pink
- lime
- 'null'
responses:
'200':
description: Successfully created the label.
content:
application/json:
schema:
$ref: '#/components/schemas/Label'
'400':
description: Bad request. Missing required parameters.
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/lists:
get:
operationId: getBoardLists
summary: Get Lists on a Board
description: >-
Retrieves all lists on a board, with optional filtering.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: cards
in: query
description: Filter cards within lists.
schema:
type: string
enum:
- all
- closed
- none
- open
default: none
- name: card_fields
in: query
description: A comma-separated list of card fields to return.
schema:
type: string
default: all
- name: filter
in: query
description: Filter lists by status.
schema:
type: string
enum:
- all
- closed
- none
- open
default: open
- name: fields
in: query
description: A comma-separated list of list fields to return.
schema:
type: string
default: all
responses:
'200':
description: Successfully retrieved board lists.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TrelloList'
'401':
description: Unauthorized.
'404':
description: Board not found.
post:
operationId: createBoardList
summary: Create a List on a Board
description: >-
Creates a new list on the specified board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
required: true
description: The name for the new list.
schema:
type: string
minLength: 1
maxLength: 16384
- name: pos
in: query
description: The position of the list on the board.
schema:
type: string
default: top
responses:
'200':
description: Successfully created the list.
content:
application/json:
schema:
$ref: '#/components/schemas/TrelloList'
'400':
description: Bad request. Missing required parameters.
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/members:
get:
operationId: getBoardMembers
summary: Get Members of a Board
description: >-
Retrieves the members associated with a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved board members.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Member'
'401':
description: Unauthorized.
'404':
description: Board not found.
put:
operationId: inviteBoardMember
summary: Invite a Member to a Board
description: >-
Invites a member to a board via email.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: email
in: query
required: true
description: The email address of the member to invite.
schema:
type: string
format: email
- name: type
in: query
description: The type of membership.
schema:
type: string
enum:
- admin
- normal
- observer
default: normal
responses:
'200':
description: Successfully invited the member.
'401':
description: Unauthorized.
'404':
description: Board not found.
/boards/{id}/members/{idMember}:
put:
operationId: updateBoardMember
summary: Update a Board Member
description: >-
Updates the membership type for a member on a board.
tags:
- Boards
parameters:
- $ref: '#/components/parameters/idParam'
- name: idMember
in: path
required: true
description: The ID of the member to update.
schema:
type: string
- name: type
in: query
required: true
description: The new membership type.
schema:
type: string
enum:
- admin
- normal
- observer
responses:
'200':
description: Successfully updated the board member.
# --- truncated at 32 KB (133 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/trello/refs/heads/main/openapi/trello-rest-api-openapi.yml