Board API
Version 1.0 OpenAPI 3.1.0
Manage EvoHub Board from scripts and CI: create boards from a template, add lists and cards, move work across the board, assign people, set due dates, labels and checklists, comment, link cards to things in other EvoHub products, and drive the review gate that signs work off before it counts as done.
Authentication. Every endpoint takes an EvoHub API key, sent as
Authorization: Bearer evohub_… or as X-API-Key: evohub_…. Each
operation names the scope the key needs in its description and in
x-evohub-permission. A missing or invalid key gets 401; a valid key
without the scope gets 403, never 401. A key holds exactly its scopes
and never counts as an organization administrator. See the
API overview, API keys and scopes
and Errors.
Who a key acts as. A personal key acts as the person who created it, with that person's teams. An organization key acts as itself: comments, approvals and the activity trail name the key, and it sees the world as the team it was configured with, if any.
Visibility. A board is private (only the people named on it), team
(everyone in the board's own team, team_id) or org (everyone in the
organization). Anyone named on a board sees it whatever its visibility,
and so does every member of a team the board was given to. Whoever creates
a board is named on it. Visibility decides only who sees a board; what a
caller may do on it is the scope. A board, list, card, label, checklist
item, comment or link the caller cannot see answers 404 NOT_FOUND,
exactly like one that does not exist.
Responses. A successful answer carries its result in data. The
analytics endpoint also sends "success": true. Errors carry an error
object with a machine-readable code. Timestamps are RFC 3339 in UTC.
Request bodies are JSON and may not contain fields the endpoint does not
know (INVALID_BODY).
Placement. Lists, cards and checklist items are placed by naming the
neighbours they land between (after, before), or an end of the list
(to: top or bottom), never by index. If the named neighbours are no
longer next to each other the request is refused with 409
STALE_PLACEMENT: read the board again and retry.
Review gate. A board can mark one list as its review list and one as its done list. A card moved into the review list waits there until someone approves or rejects it; nobody assigned to the card may approve it. On a board with a review list, only an approved card can enter the done list.
Servers
https://evohub.io
Authentication
bearerKeyHTTP BearerAn EvoHub API key (evohub_…) as a bearer token.headerKeyAPI key in the headerX-API-KeyAn EvoHub API key (evohub_…).
Boards
Create, read, change and archive boards, and the templates a board starts from.
| GET | /api/v1/board/templates | List board templates |
| GET | /api/v1/board/boards | List boards |
| POST | /api/v1/board/boards | Create a board |
| GET | /api/v1/board/boards/{boardID} | Get a board |
| DELETE | /api/v1/board/boards/{boardID} | Archive a board |
| PATCH | /api/v1/board/boards/{boardID} | Update a board |
Sharing
The people and teams named on a board, who see it whatever its visibility.
| GET | /api/v1/board/boards/{boardID}/members | List who a board is shared with |
| POST | /api/v1/board/boards/{boardID}/members | Name a person on a board |
| DELETE | /api/v1/board/boards/{boardID}/members/{userID} | Take a person off a board |
| PATCH | /api/v1/board/boards/{boardID}/members/{userID} | Update a board member (no effect) |
| POST | /api/v1/board/boards/{boardID}/teams | Give a board to a team |
| DELETE | /api/v1/board/boards/{boardID}/teams/{teamID} | Take a board back from a team |
Lists
The columns of a board, and the part each plays in review.
| GET | /api/v1/board/boards/{boardID}/lists | List a board's lists and cards |
| POST | /api/v1/board/boards/{boardID}/lists | Create a list |
| DELETE | /api/v1/board/lists/{listID} | Archive a list |
| PATCH | /api/v1/board/lists/{listID} | Rename a list |
| POST | /api/v1/board/lists/{listID}/move | Move a list |
| PUT | /api/v1/board/lists/{listID}/flags | Set a list's review and done flags |
| PUT | /api/v1/board/lists/{listID}/celebration | Set a list's celebration |
Cards
Create, read, edit, move and archive cards.
| GET | /api/v1/board/lists/{listID}/cards | List a list's cards |
| POST | /api/v1/board/lists/{listID}/cards | Create a card |
| GET | /api/v1/board/cards/{cardID} | Get a card |
| DELETE | /api/v1/board/cards/{cardID} | Archive a card |
| PATCH | /api/v1/board/cards/{cardID} | Edit a card's title or description |
| PUT | /api/v1/board/cards/{cardID}/color | Set a card's colour |
| POST | /api/v1/board/cards/{cardID}/move | Move a card |
Card details
Assignees, due dates, labels, checklists and comments.
| GET | /api/v1/board/boards/{boardID}/labels | List a board's labels |
| POST | /api/v1/board/boards/{boardID}/labels | Create a label |
| DELETE | /api/v1/board/boards/{boardID}/labels/{labelID} | Delete a label |
| GET | /api/v1/board/cards/{cardID}/detail | Get a card's details |
| POST | /api/v1/board/cards/{cardID}/assignees | Assign a person to a card |
| DELETE | /api/v1/board/cards/{cardID}/assignees/{userID} | Take a person off a card |
| PUT | /api/v1/board/cards/{cardID}/due | Set a card's due date |
| PUT | /api/v1/board/cards/{cardID}/labels/{labelID} | Label a card |
| DELETE | /api/v1/board/cards/{cardID}/labels/{labelID} | Remove a label from a card |
| POST | /api/v1/board/cards/{cardID}/checklist | Add a checklist item |
| POST | /api/v1/board/cards/{cardID}/comments | Comment on a card |
| DELETE | /api/v1/board/checklist-items/{itemID} | Delete a checklist item |
| PATCH | /api/v1/board/checklist-items/{itemID} | Update a checklist item |
| DELETE | /api/v1/board/comments/{commentID} | Delete a comment |
| PATCH | /api/v1/board/comments/{commentID} | Edit a comment |
Links
Links from a card to things in other EvoHub products.
| GET | /api/v1/board/cards/{cardID}/links | List a card's links |
| POST | /api/v1/board/cards/{cardID}/links | Link a card to something |
| DELETE | /api/v1/board/links/{linkID} | Remove a link |
Review
Approve or reject cards waiting for review, and the cards waiting for you.
| GET | /api/v1/board/review-queue | List cards waiting for your review |
| POST | /api/v1/board/cards/{cardID}/approve | Approve a card |
| POST | /api/v1/board/cards/{cardID}/reject | Reject a card |
Archive
Cards that have left a board, and putting them back.
| GET | /api/v1/board/boards/{boardID}/archive | List a board's archived cards |
| GET | /api/v1/board/archive/cards/{cardID} | Get an archived card |
| POST | /api/v1/board/archive/cards/{cardID}/restore | Restore an archived card |
Activity
What happened on a card, and on every board you can see.
| GET | /api/v1/board/activity | List activity across boards |
| GET | /api/v1/board/cards/{cardID}/history | Get a card's history |
Analytics
Throughput, cycle time, work in progress and review figures across your boards.
| GET | /api/v1/board/analytics | Get board analytics |

