Wekan REST API (v9.36)

Download OpenAPI specification:

The REST API allows you to control and extend Wekan with ease.

If you are an end-user and not a dev or a tester, create an issue to request new APIs.

All API calls in the documentation are made using curl. However, you are free to use Java / Python / PHP / Golang / Ruby / Swift / Objective-C / Rust / Scala / C# or any other programming languages.

Production Security Concerns

When calling a production Wekan server, ensure it is running via HTTPS and has a valid SSL Certificate. The login method requires you to post your username and password in plaintext, which is why we highly suggest only calling the REST login api over HTTPS. Also, few things to note:

  • Only call via HTTPS
  • Implement a timed authorization token expiration strategy
  • Ensure the calling user only has permissions for what they are calling and no more

Login

Login with REST API

Request Body schema:
required

Login credentials

username
required
string

Your username

password
required
string <password>

Your password

Responses

Request samples

Content type
{
  • "username": "string",
  • "password": "pa$$word"
}

Register with REST API

Notes:

  • You will need to provide the token for any of the authenticated methods.
Request Body schema: application/x-www-form-urlencoded
required
username
required
string

Your username

password
required
string <password>

Your password

email
required
string

Your email

Responses

Boards

get_boards

Authorizations:
UserSecurity

Responses

post_boards

Authorizations:
UserSecurity

Responses

get_board

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

delete_board

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_attachments

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

This route is used to export a attachement to a json file format.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/attachments/:attachmentId/export?authToken=:token'

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board we are exporting

attachment
required
string

the ID of the attachment we are exporting

Responses

get_board_cardSettings

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

put_board_cardSettings

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Request Body schema: multipart/form-data
required
key
required
string

the key value

Responses

post_board_copy

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Request Body schema: multipart/form-data
required
title
required
string

the title value

Responses

This route is used to export the board to a json file format.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/export?authToken=:token'

See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ for detailed explanations

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board we are exporting

Responses

This route is used to export the board to a CSV or TSV file format.

If user is already logged-in, pass loginToken as param

See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ for detailed explanations

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board we are exporting

Responses

This route is used to export the board Excel.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/exportExcel?authToken=:token'

See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ for detailed explanations

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board we are exporting

Responses

put_board_labels

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Request Body schema: multipart/form-data
required
label
required
string

the label value

Responses

This route is used to export the board Excel.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/exportExcel?authToken=:token'

See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ for detailed explanations

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board we are exporting

list
required
string

the list value

card
required
string

the card value

Responses

post_board_member

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

member
required
string

the member value

Request Body schema: multipart/form-data
required
role
required
string

the role value

Responses

put_board_title

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Request Body schema: multipart/form-data
required
title
required
string

the title value

Responses

get_boards_count

Authorizations:
UserSecurity

Responses

get_user_boards

Authorizations:
UserSecurity
path Parameters
user
required
string

the user value

Responses

Checklists

get_board_card_checklists

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

Responses

post_board_card_checklists

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

Request Body schema: multipart/form-data
required
items
required
string

the items value

Responses

get_board_card_checklist

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

Responses

delete_board_card_checklist

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

Responses

ChecklistItems

post_board_card_checklist_items

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

Responses

get_board_card_checklist_item

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

item
required
string

the item value

Responses

put_board_card_checklist_item

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

item
required
string

the item value

Responses

delete_board_card_checklist_item

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

checklist
required
string

the checklist value

item
required
string

the item value

Responses

CardComments

get_board_card_comments

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

Responses

post_board_card_comments

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

Responses

get_board_card_comment

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

comment
required
string

the comment value

Responses

delete_board_card_comment

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

card
required
string

the card value

comment
required
string

the comment value

Responses

Cards

delete_board_cards_bulk

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

post_board_cards_labels

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Request Body schema: multipart/form-data
required
cardIds
required
string

the cardIds value

Responses

get_board_customFieldValue

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

customFieldValue
required
string

the customFieldValue value

Responses

get_board_cards_count

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_list_cards

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Responses

post_board_list_cards

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Request Body schema: multipart/form-data
required
linkedId
required
string

the linkedId value

members
required
string

the members value

assignees
required
string

the assignees value

Responses

get_board_list_card

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Responses

put_board_list_card

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Request Body schema: multipart/form-data
required
newBoardId
required
string

the newBoardId value

newSwimlaneId
required
string

the newSwimlaneId value

newListId
required
string

the newListId value

title
required
string

the title value

sort
required
string

the sort value

parentId
required
string

the parentId value

description
required
string

the description value

color
required
string

the color value

vote
required
string

the vote value

poker
required
string

the poker value

labelIds
required
string

the labelIds value

requestedBy
required
string

the requestedBy value

assignedBy
required
string

the assignedBy value

spentTime
required
string

the spentTime value

isOverTime
required
string

the isOverTime value

customFields
required
string

the customFields value

members
required
string

the members value

assignees
required
string

the assignees value

swimlaneId
required
string

the swimlaneId value

listId
required
string

the listId value

archive
required
string

the archive value

Responses

delete_board_list_card

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Responses

post_board_list_card_archive

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Responses

post_board_list_card_assignee

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

assignee
required
string

the assignee value

Responses

delete_board_list_card_assignee

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

assignee
required
string

the assignee value

Responses

post_board_list_card_copy

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Request Body schema: multipart/form-data
required
toBoardId
required
string

the toBoardId value

toSwimlaneId
required
string

the toSwimlaneId value

toListId
required
string

the toListId value

position
required
string

the position value

Responses

post_board_list_card_customField

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

customField
required
string

the customField value

Request Body schema: multipart/form-data
required
value
required
string

the value value

Responses

Export a single card to Excel (.xlsx), formatted for DIN A4 Portrait printing.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/lists/:listId/cards/:cardId/exportExcel?authToken=:token'

Optional query param "fields" is a comma-separated list of sections to include. Valid values: people, board-info, dates, description, checklists, subtasks, comments Omitting "fields" includes all sections.

Authorizations:
UserSecurity
path Parameters
board
required
string

the ID of the board

list
required
string

the ID of the list

card
required
string

the ID of the card to export

Responses

post_board_list_card_member

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

member
required
string

the member value

Responses

delete_board_list_card_member

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

member
required
string

the member value

Responses

post_board_list_card_unarchive

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

card
required
string

the card value

Responses

post_board_list_cards_bulk

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Request Body schema: multipart/form-data
required
cards
required
string

the cards value

Responses

get_board_list_cards_count

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Responses

get_board_swimlane_cards

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Responses

get_card

Authorizations:
UserSecurity
path Parameters
card
required
string

the card value

Responses

get_user_cards

Authorizations:
UserSecurity

Responses

CustomFields

get_board_custom-fields

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

post_board_custom-fields

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_customField

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

Responses

put_board_customField

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

Responses

delete_board_customField

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

Responses

post_board_customField_dropdown-items

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

Request Body schema: multipart/form-data
required
items
required
string

the items value

Responses

put_board_customField_dropdownItem

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

dropdownItem
required
string

the dropdownItem value

Request Body schema: multipart/form-data
required
name
required
string

the name value

Responses

delete_board_customField_dropdownItem

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

customField
required
string

the customField value

dropdownItem
required
string

the dropdownItem value

Responses

get_board_integrations

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

post_board_integrations

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_int

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

int
required
string

the int value

Responses

put_board_int

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

int
required
string

the int value

Responses

delete_board_int

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

int
required
string

the int value

Responses

delete_board_int_activities

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

int
required
string

the int value

Responses

post_board_int_activities

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

int
required
string

the int value

Request Body schema: multipart/form-data
required
activities
required
string

the activities value

Responses

Lists

get_board_lists

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

post_board_lists

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_list

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Responses

put_board_list

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Request Body schema: multipart/form-data
required
title
required
string

the title value

color
required
string

the color value

wipLimit
required
string

the wipLimit value

Responses

delete_board_list

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Responses

post_board_list_copy

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Request Body schema: multipart/form-data
required
toBoardId
required
string

the toBoardId value

Responses

post_board_list_move

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

list
required
string

the list value

Request Body schema: multipart/form-data
required
toBoardId
required
string

the toBoardId value

toSwimlaneId
required
string

the toSwimlaneId value

Responses

Users

post_board_user_add

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

user
required
string

the user value

Request Body schema: multipart/form-data
required
action
required
string

the action value

role
required
string

the role value

Responses

post_board_user_remove

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

user
required
string

the user value

Request Body schema: multipart/form-data
required
action
required
string

the action value

Responses

post_user

Authorizations:
UserSecurity
path Parameters
user
required
string

the user value

Responses

post_deletetoken

Authorizations:
UserSecurity
Request Body schema: multipart/form-data
required
userId
required
string

the userId value

token
required
string

the token value

Responses

get_user

Authorizations:
UserSecurity

Responses

get_users

Authorizations:
UserSecurity

Responses

post_users

Authorizations:
UserSecurity
Request Body schema: multipart/form-data
required
username
required
string

the username value

email
required
string

the email value

password
required
string

the password value

Responses

get_user

Authorizations:
UserSecurity
path Parameters
user
required
string

the user value

Responses

put_user

Authorizations:
UserSecurity
path Parameters
user
required
string

the user value

Request Body schema: multipart/form-data
required
action
required
string

the action value

Responses

delete_user

Authorizations:
UserSecurity
path Parameters
user
required
string

the user value

Responses

Swimlanes

get_board_swimlanes

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

post_board_swimlanes

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

Responses

get_board_swimlane

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Responses

put_board_swimlane

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Responses

delete_board_swimlane

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Responses

post_board_swimlane_copy

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Request Body schema: multipart/form-data
required
toBoardId
required
string

the toBoardId value

Responses

post_board_swimlane_move

Authorizations:
UserSecurity
path Parameters
board
required
string

the board value

swimlane
required
string

the swimlane value

Request Body schema: multipart/form-data
required
toBoardId
required
string

the toBoardId value

Responses

Attachments

Upload a file as a card attachment

Upload a file to a card. The file content is sent base64-encoded in the JSON body. The maximum size is bounded by the admin Attachment Storage Settings (apiUploadMaxBytes) and a hard server safety cap (64 MB).

Permissions: requires a valid auth token, write access to the target board (read-only / comment-only / worker members are rejected), and the board must allow attachments.

Authorizations:
UserSecurity
Request Body schema: application/json
required
boardId
required
string

ID of the board the card belongs to

swimlaneId
required
string

ID of the card's swimlane (must match the card)

listId
required
string

ID of the card's list (must match the card)

cardId
required
string

ID of the card to attach the file to

fileName
required
string

Name to store the file under

fileType
string

MIME type of the file (optional)

fileData
required
string

Base64-encoded file contents

Responses

Request samples

Content type
application/json
{
  • "boardId": "string",
  • "swimlaneId": "string",
  • "listId": "string",
  • "cardId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "fileData": "string"
}

Download an attachment as base64

Returns the attachment metadata together with the file contents base64-encoded in base64Data. The maximum size is bounded by the admin Attachment Storage Settings (apiDownloadMaxBytes).

Permissions: requires active membership of the attachment's board.

Authorizations:
UserSecurity
path Parameters
attachmentId
required
string

ID of the attachment to download

Responses

Get attachment metadata

Returns attachment metadata (name, size, type, storage backend, board / swimlane / list / card IDs and available versions) without the file contents.

Permissions: requires active membership of the attachment's board.

Authorizations:
UserSecurity
path Parameters
attachmentId
required
string

ID of the attachment

Responses

List all attachments of a board

List every attachment on a board. Use the swimlane / list / card variants of this path to narrow the result.

Permissions: requires active membership of the board.

Authorizations:
UserSecurity
path Parameters
boardId
required
string

ID of the board

Responses

List attachments of a board filtered by swimlane

Authorizations:
UserSecurity
path Parameters
boardId
required
string
swimlaneId
required
string

Responses

List attachments of a board filtered by swimlane and list

Authorizations:
UserSecurity
path Parameters
boardId
required
string
swimlaneId
required
string
listId
required
string

Responses

List attachments of a single card

List attachments filtered down to one card. The card must belong to the given board.

Permissions: requires active membership of the board.

Authorizations:
UserSecurity
path Parameters
boardId
required
string
swimlaneId
required
string
listId
required
string
cardId
required
string

Responses

Copy an attachment to another card

Copy an existing attachment to a target card, creating a new attachment.

Permissions: requires membership of the source board (to read it) and write access to the target board, which must allow attachments. Honours the admin API upload limits.

Authorizations:
UserSecurity
Request Body schema: application/json
required
attachmentId
required
string

ID of the source attachment

targetBoardId
required
string
targetSwimlaneId
required
string
targetListId
required
string
targetCardId
required
string

Responses

Request samples

Content type
application/json
{
  • "attachmentId": "string",
  • "targetBoardId": "string",
  • "targetSwimlaneId": "string",
  • "targetListId": "string",
  • "targetCardId": "string"
}

Move an attachment to another card

Move an existing attachment to a target card by updating its metadata.

Permissions: requires write access to both the source board (the attachment is removed from it) and the target board, which must allow attachments.

Authorizations:
UserSecurity
Request Body schema: application/json
required
attachmentId
required
string

ID of the attachment to move

targetBoardId
required
string
targetSwimlaneId
required
string
targetListId
required
string
targetCardId
required
string

Responses

Request samples

Content type
application/json
{
  • "attachmentId": "string",
  • "targetBoardId": "string",
  • "targetSwimlaneId": "string",
  • "targetListId": "string",
  • "targetCardId": "string"
}

Delete an attachment

Delete an attachment.

Permissions: requires write access to the attachment's board (read-only / comment-only / worker members are rejected).

Authorizations:
UserSecurity
path Parameters
attachmentId
required
string

ID of the attachment to delete

Responses