Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Getting Started

If you have used Confluence Server REST APIs before then you are well on your way to using the Flow Board REST APIs. For those who have not used Confluence REST APIs, or for those who want a refresher, these resources will get you started:

...

When you start testing you usage of the Flow Board REST APIs and you are viewing the board in a browser to verify results remember to refresh the page after you operate on an object using the API from curl or your REST client tool. The refresh could be necessary to reload the JSON for the object you have modified.

Flow Board REST APIs

There is no REST API to create a Board. A create API may be included as part of the work for Flow Board import/copy operations, eg:
https://appfire.atlassian.net/browse/FB-111 "Import JSON to a single board"
https://appfire.atlassian.net/browse/FB-85 "Copy board"
Feel free to add your vote or comments to any of our Jira items for Flow Board (https://appfire.atlassian.net/wiki/spaces/SUP/pages/147358291/Vote+on+Jira+Issues)

Security

The REST APIs verify access is permitted to the resources being operated upon by the caller. Some APIs are admin-only and those are identified as such.

Version

Notice that there is an API version in the REST resource URLs. This is the version of the REST API, not the version of the Flow Board application. The REST API will work with any Flow Board version after 2.3.1, the version at the time this API document was created (Flow Board REST API version 1.0).

It is planned that the REST API will always be backwards compatible so that your custom solutions which use the REST API will continue to work for future versions of the API.

Board APIs

get Board

GET flowboard/1.0/boards/{boardId}

...

Code Block
{"id":1,"name":"FB1","title":"Flow Board 1","description":"here is a description",
"pageId":917508,"created":1578614191438,"updated":1586193242938,
"lists":[{"id":5,"title":"My List 1","position":0,"created":1586193350939,"updated":1586193350939,"isArchived":false,"autoDueDateClear":false,"autoDueDateOffset":0,"autoDueDateOffsetUnits":null,"autoDueDateCompletion":"none","autoUnassign":null,"autoAssign":null,
"cards":[{"id":9,"title":"card 1:1","hasDescription":true,"position":0,"due":0,"completed":false,"created":1586193355063,"updated":1586193380581,"isArchived":false,"commentsCount":1,
"assignees":[{"id":"ff808081660a117f01660a129c2c0000","name":"admin","fullName":"admin","avatarUrl":"/images/icons/profilepics/default.svg"}]}]}],
"activities":[]}

...

get Boards

GET <base URL>/rest/flowboard/1.0/boards

...

Code Block
curl --user <username>:<password> http://<base URL/rest/flowboard/1.0/boards?in=1,2

...

export Boards (admin)

GET <base URL>/rest/flowboard/1.0/admin/boards

...

query parameters:
download - boolean - default=true
format - string - default=json (other format support in the future like xml, xls, csv)

...

update Board (admin)

POST <base URL>/rest/flowboard/1.0/admin/boards/{boardId}

...

Code Block
 curl --user <username>:<password> -X POST -H "Content-Type: application/json" -d"{"pageId":123456}" <http://<base URL>/rest/flowboard/1.0/admin/boards/1

...

delete Board (admin)

DELETE <base URL>/rest/flowboard/1.0/admin/boards/{boardId}

Requires user to be admin.

...

List APIs

get List

GET <base URL>/rest/flowboard/1.0/lists/{listId}

...

create List

POST <base URL>/rest/flowboard/1.0/lists

...

update List

PUT <base URL>/rest/flowboard/1.0/lists/{listId}

...

order Lists

PUT <base URL>/rest/flowboard/1.0/lists/order

...

archive List

DELETE <base URL>/rest/flowboard/1.0/lists/{listId}


...

get archived Lists

GET<base URL>/rest/flowboard/1.0/boards/{boardId}/archived-lists


query parameters:
offset - int - default=0 pagination starting index
limit - int - default=10

...

unarchive List

POST <base URL>/rest/flowboard/1.0/boards/{boardId}/archived-lists/{listId}

...

delete archived List

DELETE <base URL>/rest/flowboard/1.0/boards/{boardId}/archived-lists/{listId}

...


Card APIs

get Card

GET <base URL>/rest/flowboard/1.0/cards/{cardId}

...

create Card

POST <base URL>/rest/flowboard/1.0/cards

...

update Card

PUT <base URL>/rest/flowboard/1.0/cards/{cardId}

...

DELETE <base URL>/rest/flowboard/1.0/cards/{cardId}

...

order Cards

PUT <base URL>/rest/flowboard/1.0/cards/order

...

get archived Cards

GET <base URL>/rest/flowboard/1.0/boards/{boardId}/archived-cards


query parameters:
offset - int - default=0
limit - int - default=10

...

unarchive Card

POST <base URL>/rest/flowboard/1.0/boards/{boardId}/archived-cards/{cardId}

...

delete archived Card

DELETE <base URL>/rest/flowboard/1.0/boards/{boardId}/archived-cards/{cardId}


...

get Card Comments

use the get Card API

...

create Card Comment

POST <base URL>/rest/flowboard/1.0/cards/comments

...

Code Block
{"content":"test","cardId":3646}

...

update Card Comment

PUT <base URL>/rest/flowboard/1.0/cards/comments

See the API for create Card Comment for syntax of the body

...

delete Card Comment

DELETE <base URL>/rest/flowboard/1.0/cards/comments/{commentId}

...