trello Cards API
Operations for creating, retrieving, updating, and deleting cards, including managing card attachments, checklists, comments, labels, members, and stickers.
Operations for creating, retrieving, updating, and deleting cards, including managing card attachments, checklists, comments, labels, members, and stickers.
openapi: 3.1.0
info:
title: Trello REST Actions Cards 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
servers:
- url: https://api.trello.com/1
description: Trello API v1 Production Server
security:
- apiKey: []
apiToken: []
tags:
- name: Cards
description: Operations for creating, retrieving, updating, and deleting cards, including managing card attachments, checklists, comments, labels, members, and stickers.
paths:
/cards:
post:
operationId: createCard
summary: Create a Card
description: Creates a new card on the specified list.
tags:
- Cards
parameters:
- name: name
in: query
description: The name for the card.
schema:
type: string
minLength: 0
maxLength: 16384
- name: desc
in: query
description: The description for the card.
schema:
type: string
maxLength: 16384
- name: pos
in: query
description: The position of the card in the list.
schema:
type: string
default: bottom
- name: due
in: query
description: The due date for the card.
schema:
type: string
format: date-time
- name: start
in: query
description: The start date for the card.
schema:
type: string
format: date-time
- name: dueComplete
in: query
description: Whether the due date is complete.
schema:
type: boolean
default: false
- name: idList
in: query
required: true
description: The ID of the list the card should be created in.
schema:
type: string
- name: idMembers
in: query
description: Comma-separated list of member IDs to add to the card.
schema:
type: string
- name: idLabels
in: query
description: Comma-separated list of label IDs to add to the card.
schema:
type: string
- name: urlSource
in: query
description: A URL to attach to the card.
schema:
type: string
format: uri
- name: idCardSource
in: query
description: The ID of a card to copy into the new card.
schema:
type: string
responses:
'200':
description: Successfully created the card.
content:
application/json:
schema:
$ref: '#/components/schemas/Card'
'400':
description: Bad request. Missing required parameters.
'401':
description: Unauthorized.
/cards/{id}:
get:
operationId: getCard
summary: Get a Card
description: Retrieves a single card by its identifier.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: fields
in: query
description: A comma-separated list of card fields to return.
schema:
type: string
default: all
- name: actions
in: query
description: A comma-separated list of action types to include.
schema:
type: string
- name: attachments
in: query
description: Whether to include attachments.
schema:
type: string
default: 'false'
- name: members
in: query
description: Whether to include members.
schema:
type: boolean
default: false
- name: checkItemStates
in: query
description: Whether to include check item states.
schema:
type: boolean
default: false
- name: checklists
in: query
description: Whether to include checklists.
schema:
type: string
enum:
- all
- none
default: none
responses:
'200':
description: Successfully retrieved the card.
content:
application/json:
schema:
$ref: '#/components/schemas/Card'
'401':
description: Unauthorized.
'404':
description: Card not found.
put:
operationId: updateCard
summary: Update a Card
description: Updates the fields of a card, including name, description, position, due date, list assignment, and more.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
description: The new name for the card.
schema:
type: string
maxLength: 16384
- name: desc
in: query
description: The new description for the card.
schema:
type: string
maxLength: 16384
- name: closed
in: query
description: Whether the card is archived.
schema:
type: boolean
- name: idMembers
in: query
description: Comma-separated list of member IDs.
schema:
type: string
- name: idLabels
in: query
description: Comma-separated list of label IDs.
schema:
type: string
- name: idList
in: query
description: The ID of the list to move the card to.
schema:
type: string
- name: idBoard
in: query
description: The ID of the board to move the card to.
schema:
type: string
- name: pos
in: query
description: The new position of the card.
schema:
type: string
- name: due
in: query
description: The new due date for the card.
schema:
type: string
format: date-time
- name: start
in: query
description: The start date for the card.
schema:
type: string
format: date-time
- name: dueComplete
in: query
description: Whether the due date is complete.
schema:
type: boolean
- name: subscribed
in: query
description: Whether the authenticated member is subscribed to the card.
schema:
type: boolean
- name: cover
in: query
description: JSON string for the card cover.
schema:
type: string
responses:
'200':
description: Successfully updated the card.
content:
application/json:
schema:
$ref: '#/components/schemas/Card'
'401':
description: Unauthorized.
'404':
description: Card not found.
delete:
operationId: deleteCard
summary: Delete a Card
description: Permanently deletes a card. This action cannot be undone.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully deleted the card.
'401':
description: Unauthorized.
'404':
description: Card not found.
/cards/{id}/actions:
get:
operationId: getCardActions
summary: Get Actions on a Card
description: Retrieves a list of actions (activity events) on a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: filter
in: query
description: A comma-separated list of action types to filter by.
schema:
type: string
responses:
'200':
description: Successfully retrieved card actions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Action'
'401':
description: Unauthorized.
'404':
description: Card not found.
/cards/{id}/actions/comments:
post:
operationId: createCardComment
summary: Add a Comment to a Card
description: Adds a new comment to a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: text
in: query
required: true
description: The comment text.
schema:
type: string
minLength: 1
maxLength: 16384
responses:
'200':
description: Successfully added the comment.
content:
application/json:
schema:
$ref: '#/components/schemas/Action'
'401':
description: Unauthorized.
'404':
description: Card not found.
/cards/{id}/attachments:
get:
operationId: getCardAttachments
summary: Get Attachments on a Card
description: Retrieves all attachments on a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: fields
in: query
description: A comma-separated list of attachment fields to return.
schema:
type: string
default: all
responses:
'200':
description: Successfully retrieved card attachments.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Attachment'
'401':
description: Unauthorized.
'404':
description: Card not found.
post:
operationId: createCardAttachment
summary: Create an Attachment on a Card
description: Adds a new attachment to a card, either from a URL or a file upload.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
description: The name for the attachment.
schema:
type: string
- name: mimeType
in: query
description: The MIME type of the attachment.
schema:
type: string
- name: url
in: query
description: A URL to attach to the card.
schema:
type: string
format: uri
responses:
'200':
description: Successfully created the attachment.
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
'401':
description: Unauthorized.
'404':
description: Card not found.
/cards/{id}/checklists:
get:
operationId: getCardChecklists
summary: Get Checklists on a Card
description: Retrieves all checklists on a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved card checklists.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Checklist'
'401':
description: Unauthorized.
'404':
description: Card not found.
post:
operationId: createCardChecklist
summary: Create a Checklist on a Card
description: Creates a new checklist on the specified card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: name
in: query
description: The name for the checklist.
schema:
type: string
- name: idChecklistSource
in: query
description: The ID of a checklist to copy into the new checklist.
schema:
type: string
- name: pos
in: query
description: The position of the checklist on the card.
schema:
type: string
default: bottom
responses:
'200':
description: Successfully created the checklist.
content:
application/json:
schema:
$ref: '#/components/schemas/Checklist'
'401':
description: Unauthorized.
'404':
description: Card not found.
/cards/{id}/labels:
post:
operationId: addCardLabel
summary: Add a Label to a Card
description: Adds an existing label to a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: value
in: query
required: true
description: The ID of the label to add.
schema:
type: string
responses:
'200':
description: Successfully added the label.
'401':
description: Unauthorized.
'404':
description: Card or label not found.
/cards/{id}/labels/{idLabel}:
delete:
operationId: removeCardLabel
summary: Remove a Label from a Card
description: Removes a label from a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: idLabel
in: path
required: true
description: The ID of the label to remove.
schema:
type: string
responses:
'200':
description: Successfully removed the label.
'401':
description: Unauthorized.
'404':
description: Card or label not found.
/cards/{id}/members:
post:
operationId: addCardMember
summary: Add a Member to a Card
description: Adds a member to a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: value
in: query
required: true
description: The ID of the member to add.
schema:
type: string
responses:
'200':
description: Successfully added the member.
'401':
description: Unauthorized.
'404':
description: Card or member not found.
/cards/{id}/members/{idMember}:
delete:
operationId: removeCardMember
summary: Remove a Member from a Card
description: Removes a member from a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: idMember
in: path
required: true
description: The ID of the member to remove.
schema:
type: string
responses:
'200':
description: Successfully removed the member.
'401':
description: Unauthorized.
'404':
description: Card or member not found.
/cards/{id}/stickers:
get:
operationId: getCardStickers
summary: Get Stickers on a Card
description: Retrieves all stickers on a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
responses:
'200':
description: Successfully retrieved card stickers.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Sticker'
'401':
description: Unauthorized.
'404':
description: Card not found.
post:
operationId: addCardSticker
summary: Add a Sticker to a Card
description: Adds a sticker to a card.
tags:
- Cards
parameters:
- $ref: '#/components/parameters/idParam'
- name: image
in: query
required: true
description: The sticker image identifier.
schema:
type: string
- name: top
in: query
required: true
description: The top position of the sticker as a percentage.
schema:
type: number
- name: left
in: query
required: true
description: The left position of the sticker as a percentage.
schema:
type: number
- name: zIndex
in: query
required: true
description: The z-index of the sticker.
schema:
type: integer
- name: rotate
in: query
description: The rotation of the sticker in degrees.
schema:
type: number
default: 0
responses:
'200':
description: Successfully added the sticker.
content:
application/json:
schema:
$ref: '#/components/schemas/Sticker'
'401':
description: Unauthorized.
'404':
description: Card not found.
components:
schemas:
CheckItem:
type: object
description: Represents a single item in a checklist that can be checked or unchecked.
properties:
id:
type: string
description: The unique identifier for the check item.
name:
type: string
description: The name of the check item.
state:
type: string
description: The completion state of the check item.
enum:
- complete
- incomplete
idChecklist:
type: string
description: The ID of the checklist the check item belongs to.
pos:
type: number
description: The position of the check item in the checklist.
due:
type: string
format: date-time
description: The due date for the check item.
idMember:
type: string
description: The ID of the member assigned to the check item.
Card:
type: object
description: Represents a Trello card, which is the fundamental unit of work on a board. Cards live within lists and can have members, labels, checklists, attachments, due dates, and comments.
properties:
id:
type: string
description: The unique identifier for the card.
name:
type: string
description: The name (title) of the card.
desc:
type: string
description: The description of the card in Markdown.
closed:
type: boolean
description: Whether the card is archived.
idBoard:
type: string
description: The ID of the board the card is on.
idList:
type: string
description: The ID of the list the card is in.
idShort:
type: integer
description: The short numeric identifier for the card within its board.
idMembers:
type: array
description: The IDs of members assigned to the card.
items:
type: string
idLabels:
type: array
description: The IDs of labels on the card.
items:
type: string
idChecklists:
type: array
description: The IDs of checklists on the card.
items:
type: string
idAttachmentCover:
type: string
description: The ID of the attachment used as the card cover.
pos:
type: number
description: The position of the card in its list.
due:
type: string
format: date-time
description: The due date for the card.
dueComplete:
type: boolean
description: Whether the due date has been marked as complete.
start:
type: string
format: date-time
description: The start date for the card.
url:
type: string
format: uri
description: The full URL of the card.
shortUrl:
type: string
format: uri
description: The short URL of the card.
shortLink:
type: string
description: The short link identifier for the card.
subscribed:
type: boolean
description: Whether the authenticated member is subscribed to the card.
dateLastActivity:
type: string
format: date-time
description: The date and time of the last activity on the card.
cover:
type: object
description: The card's cover image settings.
properties:
idAttachment:
type: string
color:
type: string
idUploadedBackground:
type: string
size:
type: string
enum:
- normal
- full
brightness:
type: string
idPlugin:
type: string
labels:
type: array
description: The labels on the card.
items:
$ref: '#/components/schemas/Label'
badges:
type: object
description: Badge counts and indicators for the card.
properties:
votes:
type: integer
attachments:
type: integer
comments:
type: integer
checkItems:
type: integer
checkItemsChecked:
type: integer
description:
type: boolean
due:
type: string
format: date-time
dueComplete:
type: boolean
subscribed:
type: boolean
Member:
type: object
description: Represents a Trello user who can be a member of boards, organizations, and cards.
properties:
id:
type: string
description: The unique identifier for the member.
username:
type: string
description: The username of the member.
fullName:
type: string
description: The full name of the member.
initials:
type: string
description: The initials of the member.
bio:
type: string
description: The biography of the member.
avatarHash:
type: string
description: The hash of the member's avatar image.
avatarUrl:
type: string
format: uri
description: The URL of the member's avatar image.
url:
type: string
format: uri
description: The URL of the member's Trello profile.
confirmed:
type: boolean
description: Whether the member's email has been confirmed.
memberType:
type: string
description: The type of member account.
status:
type: string
description: The activity status of the member.
idOrganizations:
type: array
description: The IDs of organizations the member belongs to.
items:
type: string
idBoards:
type: array
description: The IDs of boards the member has access to.
items:
type: string
Sticker:
type: object
description: Represents a decorative sticker placed on a card.
properties:
id:
type: string
description: The unique identifier for the sticker.
image:
type: string
description: The image identifier for the sticker.
imageUrl:
type: string
format: uri
description: The URL of the sticker image.
top:
type: number
description: The top position as a percentage.
left:
type: number
description: The left position as a percentage.
zIndex:
type: integer
description: The z-index of the sticker.
rotate:
type: number
description: The rotation in degrees.
Attachment:
type: object
description: Represents a file or URL attachment on a card.
properties:
id:
type: string
description: The unique identifier for the attachment.
name:
type: string
description: The name of the attachment.
url:
type: string
format: uri
description: The URL of the attachment.
bytes:
type: integer
description: The size of the attachment in bytes.
date:
type: string
format: date-time
description: The date the attachment was added.
edgeColor:
type: string
description: The edge color of the attachment preview.
idMember:
type: string
description: The ID of the member who added the attachment.
isUpload:
type: boolean
description: Whether the attachment was uploaded (vs. linked).
mimeType:
type: string
description: The MIME type of the attachment.
previews:
type: array
description: Preview image versions of the attachment.
items:
type: object
properties:
id:
type: string
url:
type: string
format: uri
width:
type: integer
height:
type: integer
bytes:
type: integer
Action:
type: object
description: Represents an activity event that occurred on a Trello object, such as creating a card, adding a comment, or moving a card between lists.
properties:
id:
type: string
description: The unique identifier for the action.
idMemberCreator:
type: string
description: The ID of the member who performed the action.
type:
type: string
description: The type of action that was performed.
date:
type: string
format: date-time
description: The date and time the action was performed.
data:
type: object
description: Context data about the action, including references to the objects involved.
properties:
text:
type: string
description: The text content of the action, if applicable.
board:
type: object
description: Reference to the board involved in the action.
properties:
id:
type: string
name:
type: string
shortLink:
type: string
card:
type: object
description: Reference to the card involved in the action.
properties:
id:
type: string
name:
type: string
idShort:
type: integer
shortLink:
type: string
list:
type: object
description: Reference to the list involved in the action.
properties:
id:
type: string
name:
type: string
old:
type: object
description: The previous values of fields that were changed.
display:
type: object
description: Display information for rendering the action.
memberCreator:
$ref: '#/components/schemas/Member'
Label:
type: object
description: Represents a color-coded label that can be applied to cards for categorization and filtering.
properties:
id:
type: string
description: The unique identifier for the label.
idBoard:
type: string
description: The ID of the board the label belongs to.
name:
type: string
description: The name of the label.
color:
type: string
description: The color of the label.
enum:
- yellow
- purple
- blue
- red
- green
- orange
- black
- sky
- pink
- lime
- null
Checklist:
type: object
description: Represents a checklist on a card, containing a list of check items that can be marked as complete or incomplete.
properties:
id:
type: string
description: The unique identifier for the checklist.
name:
type: string
description: The name of the checklist.
idBoard:
type: string
description: The ID of the board the checklist belongs to.
idCard:
type: string
description: The ID of the card the checklist is on.
pos:
type: number
description: The position of the checklist on the card.
checkItems:
type: array
description: The check items in the checklist.
items:
$ref: '#/components/schemas/CheckItem'
parameters:
idParam:
name: id
in: path
required: true
description: The ID of the resource.
schema:
type: string
securitySchemes:
apiKey:
type: apiKey
in: query
name: key
description: Your Trello API key, obtained from the Power-Ups admin page at https://trello.com/power-ups/admin.
apiToken:
type: apiKey
in: query
name: token
description: A user token that grants access to Trello resources. Obtained by authorizing via the /1/authorize route or OAuth 1.0.
externalDocs:
description: Trello REST API Documentation
url: https://developer.atlassian.com/cloud/trello/rest/