mirror of https://github.com/wekan/wekan
The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3020 lines
73 KiB
3020 lines
73 KiB
swagger: '2.0'
|
|
info:
|
|
title: Wekan REST API
|
|
version: v7.70
|
|
description: |
|
|
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](https://github.com/wekan/wekan/issues/new) 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
|
|
|
|
schemes:
|
|
- http
|
|
|
|
securityDefinitions:
|
|
UserSecurity:
|
|
type: apiKey
|
|
in: header
|
|
name: Authorization
|
|
|
|
paths:
|
|
/users/login:
|
|
post:
|
|
operationId: login
|
|
summary: Login with REST API
|
|
consumes:
|
|
- application/x-www-form-urlencoded
|
|
- application/json
|
|
tags:
|
|
- Login
|
|
parameters:
|
|
- name: username
|
|
in: formData
|
|
required: true
|
|
description: |
|
|
Your username
|
|
type: string
|
|
- name: password
|
|
in: formData
|
|
required: true
|
|
description: |
|
|
Your password
|
|
type: string
|
|
format: password
|
|
responses:
|
|
200:
|
|
description: |-
|
|
Successful authentication
|
|
schema:
|
|
items:
|
|
properties:
|
|
id:
|
|
type: string
|
|
token:
|
|
type: string
|
|
tokenExpires:
|
|
type: string
|
|
400:
|
|
description: |
|
|
Error in authentication
|
|
schema:
|
|
items:
|
|
properties:
|
|
error:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Error in authentication
|
|
/users/register:
|
|
post:
|
|
operationId: register
|
|
summary: Register with REST API
|
|
description: |
|
|
Notes:
|
|
- You will need to provide the token for any of the authenticated methods.
|
|
consumes:
|
|
- application/x-www-form-urlencoded
|
|
- application/json
|
|
tags:
|
|
- Login
|
|
parameters:
|
|
- name: username
|
|
in: formData
|
|
required: true
|
|
description: |
|
|
Your username
|
|
type: string
|
|
- name: password
|
|
in: formData
|
|
required: true
|
|
description: |
|
|
Your password
|
|
type: string
|
|
format: password
|
|
- name: email
|
|
in: formData
|
|
required: true
|
|
description: |
|
|
Your email
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: |-
|
|
Successful registration
|
|
schema:
|
|
items:
|
|
properties:
|
|
id:
|
|
type: string
|
|
token:
|
|
type: string
|
|
tokenExpires:
|
|
type: string
|
|
400:
|
|
description: |
|
|
Error in registration
|
|
schema:
|
|
items:
|
|
properties:
|
|
error:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Error in registration
|
|
|
|
/api/boards/{board}/attachments/{attachment}/export:
|
|
get:
|
|
operationId: exportJson
|
|
summary: This route is used to export a attachement to a json file format.
|
|
description: |
|
|
If user is already logged-in, pass loginToken as param
|
|
"authToken": '/api/boards/:boardId/attachments/:attachmentId/export?authToken=:token'
|
|
tags:
|
|
- Boards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board we are exporting
|
|
type: string
|
|
required: true
|
|
- name: attachment
|
|
in: path
|
|
description: |
|
|
the ID of the attachment we are exporting
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
/api/boards/{board}/cards/{card}/checklists:
|
|
get:
|
|
operationId: get_all_checklists
|
|
summary: Get the list of checklists attached to a card
|
|
tags:
|
|
- Checklists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
post:
|
|
operationId: new_checklist
|
|
summary: create a new checklist
|
|
tags:
|
|
- Checklists
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the title of the new checklist
|
|
type: string
|
|
required: true
|
|
- name: items
|
|
in: formData
|
|
description: |
|
|
the list of items on the new checklist
|
|
type: string
|
|
required: false
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cards/{card}/checklists/{checklist}:
|
|
get:
|
|
operationId: get_checklist
|
|
summary: Get a checklist
|
|
tags:
|
|
- Checklists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the ID of the checklist
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cardId:
|
|
type: string
|
|
title:
|
|
type: string
|
|
finishedAt:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
sort:
|
|
type: number
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
isFinished:
|
|
type: boolean
|
|
delete:
|
|
operationId: delete_checklist
|
|
summary: Delete a checklist
|
|
description: |
|
|
The checklist will be removed, not put in the recycle bin.
|
|
tags:
|
|
- Checklists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the ID of the checklist to remove
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cards/{card}/checklists/{checklist}/items:
|
|
post:
|
|
operationId: new_checklist_item
|
|
summary: add a new item to a checklist
|
|
tags:
|
|
- ChecklistItems
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the title of the new item
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the ID of the checklist
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}:
|
|
get:
|
|
operationId: get_checklist_item
|
|
summary: Get a checklist item
|
|
tags:
|
|
- ChecklistItems
|
|
- Checklists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the checklist ID
|
|
type: string
|
|
required: true
|
|
- name: item
|
|
in: path
|
|
description: |
|
|
the ID of the item
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/ChecklistItems"
|
|
put:
|
|
operationId: edit_checklist_item
|
|
summary: Edit a checklist item
|
|
tags:
|
|
- ChecklistItems
|
|
- Checklists
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: isFinished
|
|
in: formData
|
|
description: |
|
|
is the item checked?
|
|
type: string
|
|
required: false
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the new text of the item
|
|
type: string
|
|
required: false
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the checklist ID
|
|
type: string
|
|
required: true
|
|
- name: item
|
|
in: path
|
|
description: |
|
|
the ID of the item
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_checklist_item
|
|
summary: Delete a checklist item
|
|
description: |
|
|
Note: this operation can't be reverted.
|
|
tags:
|
|
- ChecklistItems
|
|
- Checklists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
- name: checklist
|
|
in: path
|
|
description: |
|
|
the checklist ID
|
|
type: string
|
|
required: true
|
|
- name: item
|
|
in: path
|
|
description: |
|
|
the ID of the item to be removed
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cards/{card}/comments:
|
|
get:
|
|
operationId: get_all_comments
|
|
summary: Get all comments attached to a card
|
|
tags:
|
|
- CardComments
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
comment:
|
|
type: string
|
|
authorId:
|
|
type: string
|
|
post:
|
|
operationId: new_comment
|
|
summary: Add a comment on a card
|
|
tags:
|
|
- CardComments
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: authorId
|
|
in: formData
|
|
description: |
|
|
the user who 'posted' the comment
|
|
type: string
|
|
required: true
|
|
- name: comment
|
|
in: formData
|
|
description: the comment value
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cards/{card}/comments/{comment}:
|
|
get:
|
|
operationId: get_comment
|
|
summary: Get a comment on a card
|
|
tags:
|
|
- CardComments
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
- name: comment
|
|
in: path
|
|
description: |
|
|
the ID of the comment to retrieve
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/CardComments"
|
|
delete:
|
|
operationId: delete_comment
|
|
summary: Delete a comment on a card
|
|
tags:
|
|
- CardComments
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
- name: comment
|
|
in: path
|
|
description: |
|
|
the ID of the comment to delete
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}:
|
|
get:
|
|
operationId: get_cards_by_custom_field
|
|
summary: Get all Cards that matchs a value of a specific custom field
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: |
|
|
the list ID
|
|
type: string
|
|
required: true
|
|
- name: customFieldValue
|
|
in: path
|
|
description: |
|
|
the value to look for
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
listId:
|
|
type: string
|
|
swinlaneId:
|
|
type: string
|
|
/api/boards/{board}/cards_count:
|
|
get:
|
|
operationId: get_board_cards_count
|
|
summary: Get a cards count to a board
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
board_cards_count:
|
|
type: integer
|
|
/api/boards/{board}/custom-fields:
|
|
get:
|
|
operationId: get_all_custom_fields
|
|
summary: Get the list of Custom Fields attached to a board
|
|
tags:
|
|
- CustomFields
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
post:
|
|
operationId: new_custom_field
|
|
summary: Create a Custom Field
|
|
tags:
|
|
- CustomFields
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: name
|
|
in: formData
|
|
description: |
|
|
the name of the custom field
|
|
type: string
|
|
required: true
|
|
- name: type
|
|
in: formData
|
|
description: |
|
|
the type of the custom field
|
|
type: string
|
|
required: true
|
|
- name: settings
|
|
in: formData
|
|
description: |
|
|
the settings object of the custom field
|
|
type: string
|
|
required: true
|
|
- name: showOnCard
|
|
in: formData
|
|
description: |
|
|
should we show the custom field on cards?
|
|
type: boolean
|
|
required: true
|
|
- name: automaticallyOnCard
|
|
in: formData
|
|
description: |
|
|
should the custom fields automatically be added on cards?
|
|
type: boolean
|
|
required: true
|
|
- name: showLabelOnMiniCard
|
|
in: formData
|
|
description: |
|
|
should the label of the custom field be shown on minicards?
|
|
type: boolean
|
|
required: true
|
|
- name: showSumAtTopOfList
|
|
in: formData
|
|
description: |
|
|
should the sum of the custom fields be shown at top of list?
|
|
type: boolean
|
|
required: true
|
|
- name: authorId
|
|
in: formData
|
|
description: the authorId value
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/custom-fields/{customField}:
|
|
get:
|
|
operationId: get_custom_field
|
|
summary: Get a Custom Fields attached to a board
|
|
tags:
|
|
- CustomFields
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: |
|
|
the ID of the custom field
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
boardIds:
|
|
type: string
|
|
put:
|
|
operationId: edit_custom_field
|
|
summary: Update a Custom Field
|
|
tags:
|
|
- CustomFields
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: name
|
|
in: formData
|
|
description: |
|
|
the name of the custom field
|
|
type: string
|
|
required: true
|
|
- name: type
|
|
in: formData
|
|
description: |
|
|
the type of the custom field
|
|
type: string
|
|
required: true
|
|
- name: settings
|
|
in: formData
|
|
description: |
|
|
the settings object of the custom field
|
|
type: string
|
|
required: true
|
|
- name: showOnCard
|
|
in: formData
|
|
description: |
|
|
should we show the custom field on cards
|
|
type: boolean
|
|
required: true
|
|
- name: automaticallyOnCard
|
|
in: formData
|
|
description: |
|
|
should the custom fields automatically be added on cards
|
|
type: boolean
|
|
required: true
|
|
- name: alwaysOnCard
|
|
in: formData
|
|
description: the alwaysOnCard value
|
|
type: string
|
|
required: true
|
|
- name: showLabelOnMiniCard
|
|
in: formData
|
|
description: |
|
|
should the label of the custom field be shown on minicards
|
|
type: boolean
|
|
required: true
|
|
- name: showSumAtTopOfList
|
|
in: formData
|
|
description: |
|
|
should the sum of the custom fields be shown at top of list
|
|
type: boolean
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: the customField value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_custom_field
|
|
summary: Delete a Custom Fields attached to a board
|
|
description: |
|
|
The Custom Field can't be retrieved after this operation
|
|
tags:
|
|
- CustomFields
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: |
|
|
the ID of the custom field
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/custom-fields/{customField}/dropdown-items:
|
|
post:
|
|
operationId: add_custom_field_dropdown_items
|
|
summary: Update a Custom Field's dropdown items
|
|
tags:
|
|
- CustomFields
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: items
|
|
in: formData
|
|
description: |
|
|
names of the custom field
|
|
type: string
|
|
required: false
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: the customField value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/custom-fields/{customField}/dropdown-items/{dropdownItem}:
|
|
put:
|
|
operationId: edit_custom_field_dropdown_item
|
|
summary: Update a Custom Field's dropdown item
|
|
tags:
|
|
- CustomFields
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: name
|
|
in: formData
|
|
description: |
|
|
names of the custom field
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: the customField value
|
|
type: string
|
|
required: true
|
|
- name: dropdownItem
|
|
in: path
|
|
description: the dropdownItem value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_custom_field_dropdown_item
|
|
summary: Update a Custom Field's dropdown items
|
|
tags:
|
|
- CustomFields
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: the board value
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: the customField value
|
|
type: string
|
|
required: true
|
|
- name: dropdownItem
|
|
in: path
|
|
description: the dropdownItem value
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/export:
|
|
get:
|
|
operationId: exportJson
|
|
summary: This route is used to export the board to a json file format.
|
|
description: |
|
|
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
|
|
tags:
|
|
- Boards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board we are exporting
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
/api/boards/{board}/integrations:
|
|
get:
|
|
operationId: get_all_integrations
|
|
summary: Get all integrations in board
|
|
tags:
|
|
- Integrations
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Integrations"
|
|
post:
|
|
operationId: new_integration
|
|
summary: Create a new integration
|
|
tags:
|
|
- Integrations
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: url
|
|
in: formData
|
|
description: |
|
|
the URL of the integration
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/integrations/{int}:
|
|
get:
|
|
operationId: get_integration
|
|
summary: Get a single integration in board
|
|
tags:
|
|
- Integrations
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: int
|
|
in: path
|
|
description: |
|
|
the integration ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Integrations"
|
|
put:
|
|
operationId: edit_integration
|
|
summary: Edit integration data
|
|
tags:
|
|
- Integrations
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: enabled
|
|
in: formData
|
|
description: |
|
|
is the integration enabled?
|
|
type: string
|
|
required: false
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
new name of the integration
|
|
type: string
|
|
required: false
|
|
- name: url
|
|
in: formData
|
|
description: |
|
|
new URL of the integration
|
|
type: string
|
|
required: false
|
|
- name: token
|
|
in: formData
|
|
description: |
|
|
new token of the integration
|
|
type: string
|
|
required: false
|
|
- name: activities
|
|
in: formData
|
|
description: |
|
|
new list of activities of the integration
|
|
type: string
|
|
required: false
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: int
|
|
in: path
|
|
description: |
|
|
the integration ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_integration
|
|
summary: Delete integration
|
|
tags:
|
|
- Integrations
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: int
|
|
in: path
|
|
description: |
|
|
the integration ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/integrations/{int}/activities:
|
|
delete:
|
|
operationId: delete_integration_activities
|
|
summary: Delete subscribed activities
|
|
tags:
|
|
- Integrations
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: int
|
|
in: path
|
|
description: |
|
|
the integration ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Integrations"
|
|
post:
|
|
operationId: new_integration_activities
|
|
summary: Add subscribed activities
|
|
tags:
|
|
- Integrations
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: activities
|
|
in: formData
|
|
description: the activities value
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: int
|
|
in: path
|
|
description: |
|
|
the integration ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Integrations"
|
|
/api/boards/{board}/lists:
|
|
get:
|
|
operationId: get_all_lists
|
|
summary: Get the list of Lists attached to a board
|
|
tags:
|
|
- Lists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
post:
|
|
operationId: new_list
|
|
summary: Add a List to a board
|
|
tags:
|
|
- Lists
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the title of the List
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/lists/{list}:
|
|
get:
|
|
operationId: get_list
|
|
summary: Get a List attached to a board
|
|
tags:
|
|
- Lists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the List ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Lists"
|
|
delete:
|
|
operationId: delete_list
|
|
summary: Delete a List
|
|
description: |
|
|
This **deletes** a list from a board.
|
|
The list is not put in the recycle bin.
|
|
tags:
|
|
- Lists
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the ID of the list to remove
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/lists/{list}/cards:
|
|
get:
|
|
operationId: get_all_cards
|
|
summary: Get all Cards attached to a List
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
post:
|
|
operationId: new_card
|
|
summary: Create a new Card
|
|
tags:
|
|
- Cards
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: authorId
|
|
in: formData
|
|
description: the authorId value
|
|
type: string
|
|
required: true
|
|
- name: members
|
|
in: formData
|
|
description: |
|
|
the member IDs list of the new card
|
|
type: string
|
|
required: false
|
|
- name: assignees
|
|
in: formData
|
|
description: |
|
|
the assignee IDs list of the new card
|
|
type: string
|
|
required: false
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the title of the new card
|
|
type: string
|
|
required: true
|
|
- name: description
|
|
in: formData
|
|
description: |
|
|
the description of the new card
|
|
type: string
|
|
required: true
|
|
- name: swimlaneId
|
|
in: formData
|
|
description: |
|
|
the swimlane ID of the new card
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the new card
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID of the new card
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/lists/{list}/cards/{card}:
|
|
get:
|
|
operationId: get_card
|
|
summary: Get a Card
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Cards"
|
|
put:
|
|
operationId: edit_card
|
|
summary: Edit Fields in a Card
|
|
description: |
|
|
Edit a card
|
|
|
|
The color has to be chosen between `white`, `green`, `yellow`, `orange`,
|
|
`red`, `purple`, `blue`, `sky`, `lime`, `pink`, `black`, `silver`,
|
|
`peachpuff`, `crimson`, `plum`, `darkgreen`, `slateblue`, `magenta`,
|
|
`gold`, `navy`, `gray`, `saddlebrown`, `paleturquoise`, `mistyrose`,
|
|
`indigo`:
|
|
|
|
<img src="/card-colors.png" width="40%" alt="Wekan card colors" />
|
|
|
|
Note: setting the color to white has the same effect than removing it.
|
|
tags:
|
|
- Cards
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: newBoardId
|
|
in: formData
|
|
description: the newBoardId value
|
|
type: string
|
|
required: true
|
|
- name: newSwimlaneId
|
|
in: formData
|
|
description: the newSwimlaneId value
|
|
type: string
|
|
required: true
|
|
- name: newListId
|
|
in: formData
|
|
description: the newListId value
|
|
type: string
|
|
required: true
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the new title of the card
|
|
type: string
|
|
required: false
|
|
- name: sort
|
|
in: formData
|
|
description: |
|
|
the new sort value of the card
|
|
type: string
|
|
required: false
|
|
- name: parentId
|
|
in: formData
|
|
description: |
|
|
change the parent of the card
|
|
type: string
|
|
required: false
|
|
- name: description
|
|
in: formData
|
|
description: |
|
|
the new description of the card
|
|
type: string
|
|
required: false
|
|
- name: color
|
|
in: formData
|
|
description: |
|
|
the new color of the card
|
|
type: string
|
|
required: false
|
|
- name: vote
|
|
in: formData
|
|
description: |
|
|
the vote object
|
|
type: object
|
|
required: false
|
|
- name: poker
|
|
in: formData
|
|
description: |
|
|
the poker object
|
|
type: object
|
|
required: false
|
|
- name: labelIds
|
|
in: formData
|
|
description: |
|
|
the new list of label IDs attached to the card
|
|
type: string
|
|
required: false
|
|
- name: requestedBy
|
|
in: formData
|
|
description: |
|
|
the new requestedBy field of the card
|
|
type: string
|
|
required: false
|
|
- name: assignedBy
|
|
in: formData
|
|
description: |
|
|
the new assignedBy field of the card
|
|
type: string
|
|
required: false
|
|
- name: receivedAt
|
|
in: formData
|
|
description: |
|
|
the new receivedAt field of the card
|
|
type: string
|
|
required: false
|
|
- name: startAt
|
|
in: formData
|
|
description: |
|
|
the new startAt field of the card
|
|
type: string
|
|
required: false
|
|
- name: dueAt
|
|
in: formData
|
|
description: |
|
|
the new dueAt field of the card
|
|
type: string
|
|
required: false
|
|
- name: endAt
|
|
in: formData
|
|
description: |
|
|
the new endAt field of the card
|
|
type: string
|
|
required: false
|
|
- name: spentTime
|
|
in: formData
|
|
description: |
|
|
the new spentTime field of the card
|
|
type: string
|
|
required: false
|
|
- name: isOverTime
|
|
in: formData
|
|
description: |
|
|
the new isOverTime field of the card
|
|
type: boolean
|
|
required: false
|
|
- name: customFields
|
|
in: formData
|
|
description: |
|
|
the new customFields value of the card
|
|
type: string
|
|
required: false
|
|
- name: members
|
|
in: formData
|
|
description: |
|
|
the new list of member IDs attached to the card
|
|
type: string
|
|
required: false
|
|
- name: assignees
|
|
in: formData
|
|
description: |
|
|
the array of maximum one ID of assignee attached to the card
|
|
type: string
|
|
required: false
|
|
- name: swimlaneId
|
|
in: formData
|
|
description: |
|
|
the new swimlane ID of the card
|
|
type: string
|
|
required: false
|
|
- name: listId
|
|
in: formData
|
|
description: |
|
|
the new list ID of the card (move operation)
|
|
type: string
|
|
required: false
|
|
- name: authorId
|
|
in: formData
|
|
description: |
|
|
change the owner of the card
|
|
type: string
|
|
required: false
|
|
- name: archive
|
|
in: formData
|
|
description: the archive value
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_card
|
|
summary: Delete a card from a board
|
|
description: |
|
|
This operation **deletes** a card, and therefore the card
|
|
is not put in the recycle bin.
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/lists/{list}/cards/{card}/customFields/{customField}:
|
|
post:
|
|
operationId: edit_card_custom_field
|
|
summary: Edit Custom Field in a Card
|
|
description: |
|
|
Edit a custom field value in a card
|
|
tags:
|
|
- Cards
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: value
|
|
in: formData
|
|
description: |
|
|
the new custom field value
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID of the card
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the list ID of the card
|
|
type: string
|
|
required: true
|
|
- name: card
|
|
in: path
|
|
description: |
|
|
the ID of the card
|
|
type: string
|
|
required: true
|
|
- name: customField
|
|
in: path
|
|
description: |
|
|
the ID of the custom field
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
customFields:
|
|
type: object
|
|
/api/boards/{board}/lists/{list}/cards_count:
|
|
get:
|
|
operationId: get_list_cards_count
|
|
summary: Get a cards count to a list
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: list
|
|
in: path
|
|
description: |
|
|
the List ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
list_cards_count:
|
|
type: integer
|
|
/api/boards/{board}/swimlanes:
|
|
get:
|
|
operationId: get_all_swimlanes
|
|
summary: Get the list of swimlanes attached to a board
|
|
tags:
|
|
- Swimlanes
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
post:
|
|
operationId: new_swimlane
|
|
summary: Add a swimlane to a board
|
|
tags:
|
|
- Swimlanes
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the new title of the swimlane
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/swimlanes/{swimlane}:
|
|
get:
|
|
operationId: get_swimlane
|
|
summary: Get a swimlane
|
|
tags:
|
|
- Swimlanes
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board
|
|
type: string
|
|
required: true
|
|
- name: swimlane
|
|
in: path
|
|
description: |
|
|
the ID of the swimlane
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
$ref: "#/definitions/Swimlanes"
|
|
put:
|
|
operationId: edit_swimlane
|
|
summary: Edit the title of a swimlane
|
|
tags:
|
|
- Swimlanes
|
|
consumes:
|
|
- multipart/form-data
|
|
- application/json
|
|
parameters:
|
|
- name: title
|
|
in: formData
|
|
description: |
|
|
the new title of the swimlane
|
|
type: string
|
|
required: true
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board
|
|
type: string
|
|
required: true
|
|
- name: swimlane
|
|
in: path
|
|
description: |
|
|
the ID of the swimlane to edit
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
delete:
|
|
operationId: delete_swimlane
|
|
summary: Delete a swimlane
|
|
description: |
|
|
The swimlane will be deleted, not moved to the recycle bin
|
|
tags:
|
|
- Swimlanes
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the ID of the board
|
|
type: string
|
|
required: true
|
|
- name: swimlane
|
|
in: path
|
|
description: |
|
|
the ID of the swimlane
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
/api/boards/{board}/swimlanes/{swimlane}/cards:
|
|
get:
|
|
operationId: get_swimlane_cards
|
|
summary: get all cards attached to a swimlane
|
|
tags:
|
|
- Cards
|
|
parameters:
|
|
- name: board
|
|
in: path
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
required: true
|
|
- name: swimlane
|
|
in: path
|
|
description: |
|
|
the swimlane ID
|
|
type: string
|
|
required: true
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- UserSecurity: []
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
200 response
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
_id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
listId:
|
|
type: string
|
|
definitions:
|
|
CardComments:
|
|
type: object
|
|
description: A comment on a card
|
|
properties:
|
|
boardId:
|
|
description: |
|
|
the board ID
|
|
type: string
|
|
cardId:
|
|
description: |
|
|
the card ID
|
|
type: string
|
|
text:
|
|
description: |
|
|
the text of the comment
|
|
type: string
|
|
createdAt:
|
|
description: |
|
|
when was the comment created
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
userId:
|
|
description: |
|
|
the author ID of the comment
|
|
type: string
|
|
required:
|
|
- boardId
|
|
- cardId
|
|
- text
|
|
- createdAt
|
|
- modifiedAt
|
|
- userId
|
|
Cards:
|
|
type: object
|
|
properties:
|
|
title:
|
|
description: |
|
|
the title of the card
|
|
type: string
|
|
x-nullable: true
|
|
archived:
|
|
description: |
|
|
is the card archived
|
|
type: boolean
|
|
archivedAt:
|
|
description: |
|
|
latest archiving date
|
|
type: string
|
|
x-nullable: true
|
|
parentId:
|
|
description: |
|
|
ID of the parent card
|
|
type: string
|
|
x-nullable: true
|
|
listId:
|
|
description: |
|
|
List ID where the card is
|
|
type: string
|
|
x-nullable: true
|
|
swimlaneId:
|
|
description: |
|
|
Swimlane ID where the card is
|
|
type: string
|
|
boardId:
|
|
description: |
|
|
Board ID of the card
|
|
type: string
|
|
x-nullable: true
|
|
coverId:
|
|
description: |
|
|
Cover ID of the card
|
|
type: string
|
|
x-nullable: true
|
|
color:
|
|
type: string
|
|
enum:
|
|
- white
|
|
- green
|
|
- yellow
|
|
- orange
|
|
- red
|
|
- purple
|
|
- blue
|
|
- sky
|
|
- lime
|
|
- pink
|
|
- black
|
|
- silver
|
|
- peachpuff
|
|
- crimson
|
|
- plum
|
|
- darkgreen
|
|
- slateblue
|
|
- magenta
|
|
- gold
|
|
- navy
|
|
- gray
|
|
- saddlebrown
|
|
- paleturquoise
|
|
- mistyrose
|
|
- indigo
|
|
x-nullable: true
|
|
createdAt:
|
|
description: |
|
|
creation date
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
customFields:
|
|
description: |
|
|
list of custom fields
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/CardsCustomfields"
|
|
x-nullable: true
|
|
dateLastActivity:
|
|
description: |
|
|
Date of last activity
|
|
type: string
|
|
description:
|
|
description: |
|
|
description of the card
|
|
type: string
|
|
x-nullable: true
|
|
requestedBy:
|
|
description: |
|
|
who requested the card (ID of the user)
|
|
type: string
|
|
x-nullable: true
|
|
assignedBy:
|
|
description: |
|
|
who assigned the card (ID of the user)
|
|
type: string
|
|
x-nullable: true
|
|
labelIds:
|
|
description: |
|
|
list of labels ID the card has
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
x-nullable: true
|
|
members:
|
|
description: |
|
|
list of members (user IDs)
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
x-nullable: true
|
|
assignees:
|
|
description: |
|
|
who is assignee of the card (user ID),
|
|
maximum one ID of assignee in array.
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
x-nullable: true
|
|
receivedAt:
|
|
description: |
|
|
Date the card was received
|
|
type: string
|
|
x-nullable: true
|
|
startAt:
|
|
description: |
|
|
Date the card was started to be worked on
|
|
type: string
|
|
x-nullable: true
|
|
dueAt:
|
|
description: |
|
|
Date the card is due
|
|
type: string
|
|
x-nullable: true
|
|
endAt:
|
|
description: |
|
|
Date the card ended
|
|
type: string
|
|
x-nullable: true
|
|
spentTime:
|
|
description: |
|
|
How much time has been spent on this
|
|
type: number
|
|
x-nullable: true
|
|
isOvertime:
|
|
description: |
|
|
is the card over time?
|
|
type: boolean
|
|
x-nullable: true
|
|
userId:
|
|
description: |
|
|
user ID of the author of the card
|
|
type: string
|
|
sort:
|
|
description: |
|
|
Sort value
|
|
type: number
|
|
x-nullable: true
|
|
subtaskSort:
|
|
description: |
|
|
subtask sort value
|
|
type: number
|
|
x-nullable: true
|
|
type:
|
|
description: |
|
|
type of the card
|
|
type: string
|
|
linkedId:
|
|
description: |
|
|
ID of the linked card
|
|
type: string
|
|
x-nullable: true
|
|
vote:
|
|
description: |
|
|
vote object, see below
|
|
$ref: "#/definitions/CardsVote"
|
|
x-nullable: true
|
|
poker:
|
|
description: |
|
|
poker object, see below
|
|
$ref: "#/definitions/CardsPoker"
|
|
x-nullable: true
|
|
targetId_gantt:
|
|
description: |
|
|
ID of card which is the child link in gantt view
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
x-nullable: true
|
|
linkType_gantt:
|
|
description: |
|
|
ID of card which is the parent link in gantt view
|
|
type: array
|
|
items:
|
|
type: number
|
|
x-nullable: true
|
|
x-nullable: true
|
|
linkId_gantt:
|
|
description: |
|
|
ID of card which is the parent link in gantt view
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
x-nullable: true
|
|
cardNumber:
|
|
description: |
|
|
A boardwise sequentially increasing number that is assigned
|
|
to every newly created card
|
|
type: number
|
|
x-nullable: true
|
|
showActivities:
|
|
type: boolean
|
|
hideFinishedChecklistIfItemsAreHidden:
|
|
description: |
|
|
hide completed checklist?
|
|
type: boolean
|
|
x-nullable: true
|
|
required:
|
|
- archived
|
|
- swimlaneId
|
|
- createdAt
|
|
- modifiedAt
|
|
- dateLastActivity
|
|
- userId
|
|
- type
|
|
- showActivities
|
|
CardsVote:
|
|
type: object
|
|
properties:
|
|
question:
|
|
type: string
|
|
positive:
|
|
description: |
|
|
list of members (user IDs)
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
negative:
|
|
description: |
|
|
list of members (user IDs)
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
end:
|
|
type: string
|
|
public:
|
|
type: boolean
|
|
allowNonBoardMembers:
|
|
type: boolean
|
|
required:
|
|
- question
|
|
- public
|
|
- allowNonBoardMembers
|
|
CardsPoker:
|
|
type: object
|
|
properties:
|
|
question:
|
|
type: boolean
|
|
one:
|
|
description: |
|
|
poker card one
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
two:
|
|
description: |
|
|
poker card two
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
three:
|
|
description: |
|
|
poker card three
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
five:
|
|
description: |
|
|
poker card five
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
eight:
|
|
description: |
|
|
poker card eight
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
thirteen:
|
|
description: |
|
|
poker card thirteen
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
twenty:
|
|
description: |
|
|
poker card twenty
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
forty:
|
|
description: |
|
|
poker card forty
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
oneHundred:
|
|
description: |
|
|
poker card oneHundred
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
unsure:
|
|
description: |
|
|
poker card unsure
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-nullable: true
|
|
end:
|
|
type: string
|
|
allowNonBoardMembers:
|
|
type: boolean
|
|
estimation:
|
|
description: |
|
|
poker estimation value
|
|
type: number
|
|
CardsCustomfields:
|
|
type: object
|
|
ChecklistItems:
|
|
type: object
|
|
description: An item in a checklist
|
|
properties:
|
|
title:
|
|
description: |
|
|
the text of the item
|
|
type: string
|
|
sort:
|
|
description: |
|
|
the sorting field of the item
|
|
type: number
|
|
isFinished:
|
|
description: |
|
|
Is the item checked?
|
|
type: boolean
|
|
checklistId:
|
|
description: |
|
|
the checklist ID the item is attached to
|
|
type: string
|
|
cardId:
|
|
description: |
|
|
the card ID the item is attached to
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
x-nullable: true
|
|
modifiedAt:
|
|
type: string
|
|
required:
|
|
- title
|
|
- sort
|
|
- isFinished
|
|
- checklistId
|
|
- cardId
|
|
- modifiedAt
|
|
Checklists:
|
|
type: object
|
|
description: A Checklist
|
|
properties:
|
|
cardId:
|
|
description: |
|
|
The ID of the card the checklist is in
|
|
type: string
|
|
title:
|
|
description: |
|
|
the title of the checklist
|
|
type: string
|
|
finishedAt:
|
|
description: |
|
|
When was the checklist finished
|
|
type: string
|
|
x-nullable: true
|
|
createdAt:
|
|
description: |
|
|
Creation date of the checklist
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
sort:
|
|
description: |
|
|
sorting value of the checklist
|
|
type: number
|
|
hideCheckedChecklistItems:
|
|
description: |
|
|
hide the checked checklist-items?
|
|
type: boolean
|
|
x-nullable: true
|
|
hideAllChecklistItems:
|
|
description: |
|
|
hide all checklist items ?
|
|
type: boolean
|
|
x-nullable: true
|
|
required:
|
|
- cardId
|
|
- title
|
|
- createdAt
|
|
- modifiedAt
|
|
- sort
|
|
CustomFields:
|
|
type: object
|
|
description: A custom field on a card in the board
|
|
properties:
|
|
boardIds:
|
|
description: |
|
|
the ID of the board
|
|
type: array
|
|
items:
|
|
type: string
|
|
name:
|
|
description: |
|
|
name of the custom field
|
|
type: string
|
|
type:
|
|
description: |
|
|
type of the custom field
|
|
type: string
|
|
enum:
|
|
- text
|
|
- number
|
|
- date
|
|
- dropdown
|
|
- checkbox
|
|
- currency
|
|
- stringtemplate
|
|
settings:
|
|
description: |
|
|
settings of the custom field
|
|
$ref: "#/definitions/CustomFieldsSettings"
|
|
showOnCard:
|
|
description: |
|
|
should we show on the cards this custom field
|
|
type: boolean
|
|
automaticallyOnCard:
|
|
description: |
|
|
should the custom fields automatically be added on cards?
|
|
type: boolean
|
|
alwaysOnCard:
|
|
description: |
|
|
should the custom field be automatically added to all cards?
|
|
type: boolean
|
|
showLabelOnMiniCard:
|
|
description: |
|
|
should the label of the custom field be shown on minicards?
|
|
type: boolean
|
|
showSumAtTopOfList:
|
|
description: |
|
|
should the sum of the custom fields be shown at top of list?
|
|
type: boolean
|
|
createdAt:
|
|
type: string
|
|
x-nullable: true
|
|
modifiedAt:
|
|
type: string
|
|
required:
|
|
- boardIds
|
|
- name
|
|
- type
|
|
- settings
|
|
- showOnCard
|
|
- automaticallyOnCard
|
|
- alwaysOnCard
|
|
- showLabelOnMiniCard
|
|
- showSumAtTopOfList
|
|
- modifiedAt
|
|
CustomFieldsSettings:
|
|
type: object
|
|
properties:
|
|
currencyCode:
|
|
type: string
|
|
dropdownItems:
|
|
description: |
|
|
list of drop down items objects
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/CustomFieldsSettingsDropdownitems"
|
|
stringtemplateFormat:
|
|
type: string
|
|
stringtemplateSeparator:
|
|
type: string
|
|
CustomFieldsSettingsDropdownitems:
|
|
type: object
|
|
Integrations:
|
|
type: object
|
|
description: Integration with third-party applications
|
|
properties:
|
|
enabled:
|
|
description: |
|
|
is the integration enabled?
|
|
type: boolean
|
|
title:
|
|
description: |
|
|
name of the integration
|
|
type: string
|
|
x-nullable: true
|
|
type:
|
|
description: |
|
|
type of the integratation (Default to 'outgoing-webhooks')
|
|
type: string
|
|
activities:
|
|
description: |
|
|
activities the integration gets triggered (list)
|
|
type: array
|
|
items:
|
|
type: string
|
|
url:
|
|
type: string
|
|
token:
|
|
description: |
|
|
token of the integration
|
|
type: string
|
|
x-nullable: true
|
|
boardId:
|
|
description: |
|
|
Board ID of the integration
|
|
type: string
|
|
createdAt:
|
|
description: |
|
|
Creation date of the integration
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
userId:
|
|
description: |
|
|
user ID who created the interation
|
|
type: string
|
|
required:
|
|
- enabled
|
|
- type
|
|
- activities
|
|
- url
|
|
- boardId
|
|
- createdAt
|
|
- modifiedAt
|
|
- userId
|
|
Lists:
|
|
type: object
|
|
description: A list (column) in the Wekan board.
|
|
properties:
|
|
title:
|
|
description: |
|
|
the title of the list
|
|
type: string
|
|
starred:
|
|
description: |
|
|
if a list is stared
|
|
then we put it on the top
|
|
type: boolean
|
|
x-nullable: true
|
|
archived:
|
|
description: |
|
|
is the list archived
|
|
type: boolean
|
|
archivedAt:
|
|
description: |
|
|
latest archiving date
|
|
type: string
|
|
x-nullable: true
|
|
boardId:
|
|
description: |
|
|
the board associated to this list
|
|
type: string
|
|
swimlaneId:
|
|
description: |
|
|
the swimlane associated to this list. Used for templates
|
|
type: string
|
|
createdAt:
|
|
description: |
|
|
creation date
|
|
type: string
|
|
sort:
|
|
description: |
|
|
is the list sorted
|
|
type: number
|
|
x-nullable: true
|
|
updatedAt:
|
|
description: |
|
|
last update of the list
|
|
type: string
|
|
x-nullable: true
|
|
modifiedAt:
|
|
type: string
|
|
wipLimit:
|
|
description: |
|
|
WIP object, see below
|
|
$ref: "#/definitions/ListsWiplimit"
|
|
x-nullable: true
|
|
color:
|
|
description: |
|
|
the color of the list
|
|
type: string
|
|
enum:
|
|
- white
|
|
- green
|
|
- yellow
|
|
- orange
|
|
- red
|
|
- purple
|
|
- blue
|
|
- sky
|
|
- lime
|
|
- pink
|
|
- black
|
|
- silver
|
|
- peachpuff
|
|
- crimson
|
|
- plum
|
|
- darkgreen
|
|
- slateblue
|
|
- magenta
|
|
- gold
|
|
- navy
|
|
- gray
|
|
- saddlebrown
|
|
- paleturquoise
|
|
- mistyrose
|
|
- indigo
|
|
x-nullable: true
|
|
type:
|
|
description: |
|
|
The type of list
|
|
type: string
|
|
collapsed:
|
|
description: |
|
|
is the list collapsed
|
|
type: boolean
|
|
required:
|
|
- title
|
|
- archived
|
|
- boardId
|
|
- swimlaneId
|
|
- createdAt
|
|
- modifiedAt
|
|
- type
|
|
- collapsed
|
|
ListsWiplimit:
|
|
type: object
|
|
properties:
|
|
value:
|
|
description: |
|
|
value of the WIP
|
|
type: number
|
|
enabled:
|
|
description: |
|
|
is the WIP enabled
|
|
type: boolean
|
|
soft:
|
|
description: |
|
|
is the WIP a soft or hard requirement
|
|
type: boolean
|
|
required:
|
|
- value
|
|
- enabled
|
|
- soft
|
|
Swimlanes:
|
|
type: object
|
|
description: A swimlane is an line in the kaban board.
|
|
properties:
|
|
title:
|
|
description: |
|
|
the title of the swimlane
|
|
type: string
|
|
archived:
|
|
description: |
|
|
is the swimlane archived?
|
|
type: boolean
|
|
archivedAt:
|
|
description: |
|
|
latest archiving date of the swimlane
|
|
type: string
|
|
x-nullable: true
|
|
boardId:
|
|
description: |
|
|
the ID of the board the swimlane is attached to
|
|
type: string
|
|
createdAt:
|
|
description: |
|
|
creation date of the swimlane
|
|
type: string
|
|
sort:
|
|
description: |
|
|
the sort value of the swimlane
|
|
type: number
|
|
x-nullable: true
|
|
color:
|
|
description: |
|
|
the color of the swimlane
|
|
type: string
|
|
enum:
|
|
- white
|
|
- green
|
|
- yellow
|
|
- orange
|
|
- red
|
|
- purple
|
|
- blue
|
|
- sky
|
|
- lime
|
|
- pink
|
|
- black
|
|
- silver
|
|
- peachpuff
|
|
- crimson
|
|
- plum
|
|
- darkgreen
|
|
- slateblue
|
|
- magenta
|
|
- gold
|
|
- navy
|
|
- gray
|
|
- saddlebrown
|
|
- paleturquoise
|
|
- mistyrose
|
|
- indigo
|
|
x-nullable: true
|
|
updatedAt:
|
|
description: |
|
|
when was the swimlane last edited
|
|
type: string
|
|
x-nullable: true
|
|
modifiedAt:
|
|
type: string
|
|
type:
|
|
description: |
|
|
The type of swimlane
|
|
type: string
|
|
collapsed:
|
|
description: |
|
|
is the swimlane collapsed
|
|
type: boolean
|
|
required:
|
|
- title
|
|
- archived
|
|
- boardId
|
|
- createdAt
|
|
- modifiedAt
|
|
- type
|
|
- collapsed
|
|
|