Merge cards
Combines several cards on an active board into one. The primary card keeps its column and its text, followed by the other cards' text in the order they were written, one per line. Reactions move to the primary card (one per person and emoji); the other cards are deleted with their comments and votes.
card_ids must hold at least two distinct cards, including
primary_card_id, all on this board. Cards from other columns are
merged into the primary card's column.
The answer is the merged card; its vote_score and my_vote are
not filled in, so read the board for them.
Requires the retro:card:write scope.
Authorization
Parameters
Path parameters
boardIDstring requiredThe board's ID.
Request body required
primary_card_idstring requiredThe card the others are merged into.card_idsarray of string requiredEvery card to merge, the primary card included.
Responses
200
The merged card.
successbooleandataCardShow Card properties
idstringboard_idstringcolumn_idstringcontentstringcreated_atstring (date-time)reactionsarray of ReactionOnly when a whole board is read; left out when there are none.Show Reaction properties
emojistringcountintegerreactedbooleanWhether the caller reacted with this emoji.
commentsarray of CommentOnly when a whole board is read; left out when there are none.Show Comment properties
idstringcard_idstringboard_idstringcontentstringcreated_atstring (date-time)
vote_scoreintegerThe net of agree (+1) and disagree (-1) votes.my_voteintegerThe caller's own vote on the card.
400
The body is not JSON (INVALID_BODY), primary_card_id is
missing (MISSING_PRIMARY_CARD_ID), card_ids holds fewer than
two distinct cards (INSUFFICIENT_CARDS), or it does not include
the primary card (PRIMARY_NOT_IN_LIST).
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
403
The key lacks the scope this endpoint needs (FORBIDDEN).
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
404
The board is not one the caller can see (NOT_FOUND), or a card is not on it (CARD_NOT_FOUND).
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
409
The board is closed and its content cannot change (BOARD_CLOSED). Reopen it first.
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
429
Too many requests (RATE_LIMITED). Wait for Retry-After seconds.
Retry-AfterintegerSeconds to wait before retrying.
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
successbooleanSent by Retro itself; refusals before the request reaches Retro (401, 429) carry onlyerror.errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
Example request
curl -X POST 'https://evohub.io/api/v1/retro/boards/brd_3f9a1c7e2b8d4a60/cards/merge' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"card_ids": [
"crd_8d0c4b6e1a9f2357",
"crd_2f4a6c8e0b1d3579"
],
"primary_card_id": "crd_8d0c4b6e1a9f2357"
}'
