Create a card
Adds a card to the list. title is required (at most 200
characters); description may be up to 20,000 characters. Without
placement the card goes to the bottom. The card gets the next
number on its board, which with the board's prefix is its reference
(PLT-119). list_id in the body is ignored: the list is the one in
the path.
Requires the board:card:write scope.
Authorization
Parameters
Path parameters
listIDstring requiredThe list's ID.
Request body required
titlestring requireddescriptionstringlist_idstringIgnored.placementPlacementShow Placement properties
afterstringThe ID of the item it should follow. Empty means the top.beforestringThe ID of the item it should precede. Empty means the bottom.tostringAn end of the list. Any other value is ignored.
Responses
201
The card was created.
dataobjectcardCardShow Card properties
idstringboard_idstringlist_idstringnumberintegerThe card's number on its board, from 1. With the board'scard_prefixit is the card's reference.titlestringdescriptionstringcolorstringA hex colour, or""for none.due_atstring (date-time)Absent when the card has no due date.reviewReviewShow Review properties
statestringapproved_bystringapproved_atstring (date-time)
completed_atstring (date-time)When the card entered a done list. Absent while it is not in one.created_bystringcreated_atstring (date-time)updated_atstring (date-time)versionintegerGoes up by one on every edit of the title or description.assignee_idsarray of string | nullWho the card is on. Filled in when a board or list is read;nullwhen one card is read on its own.label_idsarray of string | nullThe labels the card carries. Filled in when a board or list is read;nullwhen one card is read on its own.
400
The body is not JSON for this endpoint, or carries a field it does not
know (INVALID_BODY), or a field breaks a rule (VALIDATION_ERROR;
the message says which).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
404
It does not exist, or it is on a board the caller cannot see (NOT_FOUND).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
409
The neighbours named in placement are no longer next to each other (STALE_PLACEMENT). Read the board again and retry.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
429
Too many requests (RATE_LIMITED). Wait for Retry-After seconds.
Retry-AfterintegerSeconds to wait before retrying.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
Example request
curl -X POST 'https://evohub.io/api/v1/board/lists/lst_2b3c4d5e6f7a48b9c0d1e2f3a4b5c6d7/cards' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"title": "Renew the TLS certificate for the API",
"placement": {
"to": "top"
},
"description": "Expires on 2026-12-05."
}'
