Vote on a card
Agrees (1) or disagrees (-1) with a card. Each caller has one vote
per card: voting the same way again removes it, voting the other way
switches it. The answer is the card's net score and the caller's vote
afterwards (0 when removed). The board must be active and its
voting on.
Requires the retro:card:write scope.
Authorization
Parameters
Path parameters
boardIDstring requiredThe board's ID.cardIDstring requiredThe card's ID.
Request body required
valueinteger required1to agree,-1to disagree.
Responses
200
The vote was applied.
successbooleandataobjectvote_scoreintegerThe card's net score across everyone.my_voteintegerThe caller's vote now.
400
The body is not JSON (INVALID_BODY), or value is not 1 or -1 (INVALID_VALUE).
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 retro:card:write (FORBIDDEN), or voting is turned off on this board (VOTING_DISABLED).
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 the 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/crd_8d0c4b6e1a9f2357/votes' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"value": 1
}'
