|
@@ -1,7 +1,7 @@
|
|
|
swagger: '2.0'
|
|
|
info:
|
|
|
title: Wekan REST API
|
|
|
- version: v4.89
|
|
|
+ version: v4.90
|
|
|
description: |
|
|
|
The REST API allows you to control and extend Wekan with ease.
|
|
|
|
|
@@ -134,6 +134,198 @@ paths:
|
|
|
description: |
|
|
|
Error in registration
|
|
|
|
|
|
+ /api/boards:
|
|
|
+ get:
|
|
|
+ operationId: get_public_boards
|
|
|
+ summary: Get all public boards
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ 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_board
|
|
|
+ summary: Create a board
|
|
|
+ description: |
|
|
|
+ This allows to create a board.
|
|
|
+
|
|
|
+ The color has to be chosen between `belize`, `nephritis`, `pomegranate`,
|
|
|
+ `pumpkin`, `wisteria`, `moderatepink`, `strongcyan`,
|
|
|
+ `limegreen`, `midnight`, `dark`, `relax`, `corteza`:
|
|
|
+
|
|
|
+ <img src="https://wekan.github.io/board-colors.png" width="40%" alt="Wekan logo" />
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ consumes:
|
|
|
+ - multipart/form-data
|
|
|
+ - application/json
|
|
|
+ parameters:
|
|
|
+ - name: title
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ the new title of the board
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - name: owner
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ "ABCDE12345" <= User ID in Wekan.
|
|
|
+ (Not username or email)
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - name: isAdmin
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ is the owner an admin of the board (default true)
|
|
|
+ type: boolean
|
|
|
+ required: false
|
|
|
+ - name: isActive
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ is the board active (default true)
|
|
|
+ type: boolean
|
|
|
+ required: false
|
|
|
+ - name: isNoComments
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ disable comments (default false)
|
|
|
+ type: boolean
|
|
|
+ required: false
|
|
|
+ - name: isCommentOnly
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ only enable comments (default false)
|
|
|
+ type: boolean
|
|
|
+ required: false
|
|
|
+ - name: isWorker
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ only move cards, assign himself to card and comment (default false)
|
|
|
+ type: boolean
|
|
|
+ required: false
|
|
|
+ - name: permission
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ "private" board <== Set to "public" if you
|
|
|
+ want public Wekan board
|
|
|
+ type: string
|
|
|
+ required: false
|
|
|
+ - name: color
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ the color of the board
|
|
|
+ type: string
|
|
|
+ required: false
|
|
|
+ produces:
|
|
|
+ - application/json
|
|
|
+ security:
|
|
|
+ - UserSecurity: []
|
|
|
+ responses:
|
|
|
+ '200':
|
|
|
+ description: |-
|
|
|
+ 200 response
|
|
|
+ schema:
|
|
|
+ type: object
|
|
|
+ properties:
|
|
|
+ _id:
|
|
|
+ type: string
|
|
|
+ defaultSwimlaneId:
|
|
|
+ type: string
|
|
|
+ /api/boards/{board}:
|
|
|
+ get:
|
|
|
+ operationId: get_board
|
|
|
+ summary: Get the board with that particular ID
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ parameters:
|
|
|
+ - name: board
|
|
|
+ in: path
|
|
|
+ description: |
|
|
|
+ the ID of the board to retrieve the data
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ produces:
|
|
|
+ - application/json
|
|
|
+ security:
|
|
|
+ - UserSecurity: []
|
|
|
+ responses:
|
|
|
+ '200':
|
|
|
+ description: |-
|
|
|
+ 200 response
|
|
|
+ schema:
|
|
|
+ $ref: "#/definitions/Boards"
|
|
|
+ delete:
|
|
|
+ operationId: delete_board
|
|
|
+ summary: Delete a board
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ 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
|
|
|
+ /api/boards/{board}/attachments:
|
|
|
+ get:
|
|
|
+ operationId: get_board_attachments
|
|
|
+ summary: Get the list of attachments of a board
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ 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:
|
|
|
+ attachmentId:
|
|
|
+ type: string
|
|
|
+ attachmentName:
|
|
|
+ type: string
|
|
|
+ attachmentType:
|
|
|
+ type: string
|
|
|
+ cardId:
|
|
|
+ type: string
|
|
|
+ listId:
|
|
|
+ type: string
|
|
|
+ swimlaneId:
|
|
|
+ type: string
|
|
|
/api/boards/{board}/cards/{card}/checklists:
|
|
|
get:
|
|
|
operationId: get_all_checklists
|
|
@@ -1096,6 +1288,40 @@ paths:
|
|
|
200 response
|
|
|
schema:
|
|
|
$ref: "#/definitions/Integrations"
|
|
|
+ /api/boards/{board}/labels:
|
|
|
+ put:
|
|
|
+ operationId: add_board_label
|
|
|
+ summary: Add a label to a board
|
|
|
+ description: |
|
|
|
+ If the board doesn't have the name/color label, this function
|
|
|
+ adds the label to the board.
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ consumes:
|
|
|
+ - multipart/form-data
|
|
|
+ - application/json
|
|
|
+ parameters:
|
|
|
+ - name: label
|
|
|
+ in: formData
|
|
|
+ description: the label value
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - name: board
|
|
|
+ in: path
|
|
|
+ description: |
|
|
|
+ the board
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ produces:
|
|
|
+ - application/json
|
|
|
+ security:
|
|
|
+ - UserSecurity: []
|
|
|
+ responses:
|
|
|
+ '200':
|
|
|
+ description: |-
|
|
|
+ 200 response
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
/api/boards/{board}/lists:
|
|
|
get:
|
|
|
operationId: get_all_lists
|
|
@@ -1577,6 +1803,61 @@ paths:
|
|
|
properties:
|
|
|
_id:
|
|
|
type: string
|
|
|
+ /api/boards/{board}/members/{member}:
|
|
|
+ post:
|
|
|
+ operationId: set_board_member_permission
|
|
|
+ summary: Change the permission of a member of a board
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ - Users
|
|
|
+ consumes:
|
|
|
+ - multipart/form-data
|
|
|
+ - application/json
|
|
|
+ parameters:
|
|
|
+ - name: isAdmin
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ admin capability
|
|
|
+ type: boolean
|
|
|
+ required: true
|
|
|
+ - name: isNoComments
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ NoComments capability
|
|
|
+ type: boolean
|
|
|
+ required: true
|
|
|
+ - name: isCommentOnly
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ CommentsOnly capability
|
|
|
+ type: boolean
|
|
|
+ required: true
|
|
|
+ - name: isWorker
|
|
|
+ in: formData
|
|
|
+ description: |
|
|
|
+ Worker capability
|
|
|
+ type: boolean
|
|
|
+ required: true
|
|
|
+ - name: board
|
|
|
+ in: path
|
|
|
+ description: |
|
|
|
+ the ID of the board that we are changing
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - name: member
|
|
|
+ in: path
|
|
|
+ description: |
|
|
|
+ the ID of the user to change permissions
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ produces:
|
|
|
+ - application/json
|
|
|
+ security:
|
|
|
+ - UserSecurity: []
|
|
|
+ responses:
|
|
|
+ '200':
|
|
|
+ description: |-
|
|
|
+ 200 response
|
|
|
/api/boards/{board}/members/{user}/add:
|
|
|
post:
|
|
|
operationId: add_board_member
|
|
@@ -2033,7 +2314,349 @@ paths:
|
|
|
properties:
|
|
|
_id:
|
|
|
type: string
|
|
|
+ /api/users/{user}/boards:
|
|
|
+ get:
|
|
|
+ operationId: get_boards_from_user
|
|
|
+ summary: Get all boards attached to a user
|
|
|
+ tags:
|
|
|
+ - Boards
|
|
|
+ parameters:
|
|
|
+ - name: user
|
|
|
+ in: path
|
|
|
+ description: |
|
|
|
+ the ID of the user to retrieve the data
|
|
|
+ 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
|
|
|
definitions:
|
|
|
+ Boards:
|
|
|
+ type: object
|
|
|
+ description: This is a Board.
|
|
|
+ properties:
|
|
|
+ title:
|
|
|
+ description: |
|
|
|
+ The title of the board
|
|
|
+ type: string
|
|
|
+ slug:
|
|
|
+ description: |
|
|
|
+ The title slugified.
|
|
|
+ type: string
|
|
|
+ archived:
|
|
|
+ description: |
|
|
|
+ Is the board archived?
|
|
|
+ type: boolean
|
|
|
+ createdAt:
|
|
|
+ description: |
|
|
|
+ Creation time of the board
|
|
|
+ type: string
|
|
|
+ modifiedAt:
|
|
|
+ description: |
|
|
|
+ Last modification time of the board
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ stars:
|
|
|
+ description: |
|
|
|
+ How many stars the board has
|
|
|
+ type: number
|
|
|
+ labels:
|
|
|
+ description: |
|
|
|
+ List of labels attached to a board
|
|
|
+ type: array
|
|
|
+ items:
|
|
|
+ $ref: "#/definitions/BoardsLabels"
|
|
|
+ members:
|
|
|
+ description: |
|
|
|
+ List of members of a board
|
|
|
+ type: array
|
|
|
+ items:
|
|
|
+ $ref: "#/definitions/BoardsMembers"
|
|
|
+ permission:
|
|
|
+ description: |
|
|
|
+ visibility of the board
|
|
|
+ type: string
|
|
|
+ enum:
|
|
|
+ - public
|
|
|
+ - private
|
|
|
+ color:
|
|
|
+ description: |
|
|
|
+ The color of the board.
|
|
|
+ type: string
|
|
|
+ enum:
|
|
|
+ - belize
|
|
|
+ - nephritis
|
|
|
+ - pomegranate
|
|
|
+ - pumpkin
|
|
|
+ - wisteria
|
|
|
+ - moderatepink
|
|
|
+ - strongcyan
|
|
|
+ - limegreen
|
|
|
+ - midnight
|
|
|
+ - dark
|
|
|
+ - relax
|
|
|
+ - corteza
|
|
|
+ - clearblue
|
|
|
+ - natural
|
|
|
+ - modern
|
|
|
+ - moderndark
|
|
|
+ description:
|
|
|
+ description: |
|
|
|
+ The description of the board
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ subtasksDefaultBoardId:
|
|
|
+ description: |
|
|
|
+ The default board ID assigned to subtasks.
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ subtasksDefaultListId:
|
|
|
+ description: |
|
|
|
+ The default List ID assigned to subtasks.
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ dateSettingsDefaultBoardId:
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ dateSettingsDefaultListId:
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ allowsSubtasks:
|
|
|
+ description: |
|
|
|
+ Does the board allows subtasks?
|
|
|
+ type: boolean
|
|
|
+ allowsAttachments:
|
|
|
+ description: |
|
|
|
+ Does the board allows attachments?
|
|
|
+ type: boolean
|
|
|
+ allowsChecklists:
|
|
|
+ description: |
|
|
|
+ Does the board allows checklists?
|
|
|
+ type: boolean
|
|
|
+ allowsComments:
|
|
|
+ description: |
|
|
|
+ Does the board allows comments?
|
|
|
+ type: boolean
|
|
|
+ allowsDescriptionTitle:
|
|
|
+ description: |
|
|
|
+ Does the board allows description title?
|
|
|
+ type: boolean
|
|
|
+ allowsDescriptionText:
|
|
|
+ description: |
|
|
|
+ Does the board allows description text?
|
|
|
+ type: boolean
|
|
|
+ allowsActivities:
|
|
|
+ description: |
|
|
|
+ Does the board allows comments?
|
|
|
+ type: boolean
|
|
|
+ allowsLabels:
|
|
|
+ description: |
|
|
|
+ Does the board allows labels?
|
|
|
+ type: boolean
|
|
|
+ allowsAssignee:
|
|
|
+ description: |
|
|
|
+ Does the board allows assignee?
|
|
|
+ type: boolean
|
|
|
+ allowsMembers:
|
|
|
+ description: |
|
|
|
+ Does the board allows members?
|
|
|
+ type: boolean
|
|
|
+ allowsRequestedBy:
|
|
|
+ description: |
|
|
|
+ Does the board allows requested by?
|
|
|
+ type: boolean
|
|
|
+ allowsAssignedBy:
|
|
|
+ description: |
|
|
|
+ Does the board allows requested by?
|
|
|
+ type: boolean
|
|
|
+ allowsReceivedDate:
|
|
|
+ description: |
|
|
|
+ Does the board allows received date?
|
|
|
+ type: boolean
|
|
|
+ allowsStartDate:
|
|
|
+ description: |
|
|
|
+ Does the board allows start date?
|
|
|
+ type: boolean
|
|
|
+ allowsEndDate:
|
|
|
+ description: |
|
|
|
+ Does the board allows end date?
|
|
|
+ type: boolean
|
|
|
+ allowsDueDate:
|
|
|
+ description: |
|
|
|
+ Does the board allows due date?
|
|
|
+ type: boolean
|
|
|
+ presentParentTask:
|
|
|
+ description: |
|
|
|
+ Controls how to present the parent task:
|
|
|
+
|
|
|
+ - `prefix-with-full-path`: add a prefix with the full path
|
|
|
+ - `prefix-with-parent`: add a prefisx with the parent name
|
|
|
+ - `subtext-with-full-path`: add a subtext with the full path
|
|
|
+ - `subtext-with-parent`: add a subtext with the parent name
|
|
|
+ - `no-parent`: does not show the parent at all
|
|
|
+ type: string
|
|
|
+ enum:
|
|
|
+ - prefix-with-full-path
|
|
|
+ - prefix-with-parent
|
|
|
+ - subtext-with-full-path
|
|
|
+ - subtext-with-parent
|
|
|
+ - no-parent
|
|
|
+ x-nullable: true
|
|
|
+ startAt:
|
|
|
+ description: |
|
|
|
+ Starting date of the board.
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ dueAt:
|
|
|
+ description: |
|
|
|
+ Due date of the board.
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ endAt:
|
|
|
+ description: |
|
|
|
+ End date of the board.
|
|
|
+ type: string
|
|
|
+ x-nullable: true
|
|
|
+ spentTime:
|
|
|
+ description: |
|
|
|
+ Time spent in the board.
|
|
|
+ type: number
|
|
|
+ x-nullable: true
|
|
|
+ isOvertime:
|
|
|
+ description: |
|
|
|
+ Is the board overtimed?
|
|
|
+ type: boolean
|
|
|
+ x-nullable: true
|
|
|
+ type:
|
|
|
+ description: |
|
|
|
+ The type of board
|
|
|
+ type: string
|
|
|
+ sort:
|
|
|
+ description: |
|
|
|
+ Sort value
|
|
|
+ type: number
|
|
|
+ required:
|
|
|
+ - title
|
|
|
+ - slug
|
|
|
+ - archived
|
|
|
+ - createdAt
|
|
|
+ - stars
|
|
|
+ - labels
|
|
|
+ - members
|
|
|
+ - permission
|
|
|
+ - color
|
|
|
+ - allowsSubtasks
|
|
|
+ - allowsAttachments
|
|
|
+ - allowsChecklists
|
|
|
+ - allowsComments
|
|
|
+ - allowsDescriptionTitle
|
|
|
+ - allowsDescriptionText
|
|
|
+ - allowsActivities
|
|
|
+ - allowsLabels
|
|
|
+ - allowsAssignee
|
|
|
+ - allowsMembers
|
|
|
+ - allowsRequestedBy
|
|
|
+ - allowsAssignedBy
|
|
|
+ - allowsReceivedDate
|
|
|
+ - allowsStartDate
|
|
|
+ - allowsEndDate
|
|
|
+ - allowsDueDate
|
|
|
+ - type
|
|
|
+ - sort
|
|
|
+ BoardsLabels:
|
|
|
+ type: object
|
|
|
+ properties:
|
|
|
+ _id:
|
|
|
+ description: |
|
|
|
+ Unique id of a label
|
|
|
+ type: string
|
|
|
+ name:
|
|
|
+ description: |
|
|
|
+ Name of a label
|
|
|
+ type: string
|
|
|
+ color:
|
|
|
+ description: |
|
|
|
+ color of a label.
|
|
|
+
|
|
|
+ Can be amongst `green`, `yellow`, `orange`, `red`, `purple`,
|
|
|
+ `blue`, `sky`, `lime`, `pink`, `black`,
|
|
|
+ `silver`, `peachpuff`, `crimson`, `plum`, `darkgreen`,
|
|
|
+ `slateblue`, `magenta`, `gold`, `navy`, `gray`,
|
|
|
+ `saddlebrown`, `paleturquoise`, `mistyrose`, `indigo`
|
|
|
+ type: string
|
|
|
+ enum:
|
|
|
+ - green
|
|
|
+ - yellow
|
|
|
+ - orange
|
|
|
+ - red
|
|
|
+ - purple
|
|
|
+ - blue
|
|
|
+ - sky
|
|
|
+ - lime
|
|
|
+ - pink
|
|
|
+ - black
|
|
|
+ - silver
|
|
|
+ - peachpuff
|
|
|
+ - crimson
|
|
|
+ - plum
|
|
|
+ - darkgreen
|
|
|
+ - slateblue
|
|
|
+ - magenta
|
|
|
+ - gold
|
|
|
+ - navy
|
|
|
+ - gray
|
|
|
+ - saddlebrown
|
|
|
+ - paleturquoise
|
|
|
+ - mistyrose
|
|
|
+ - indigo
|
|
|
+ required:
|
|
|
+ - _id
|
|
|
+ - color
|
|
|
+ BoardsMembers:
|
|
|
+ type: object
|
|
|
+ properties:
|
|
|
+ userId:
|
|
|
+ description: |
|
|
|
+ The uniq ID of the member
|
|
|
+ type: string
|
|
|
+ isAdmin:
|
|
|
+ description: |
|
|
|
+ Is the member an admin of the board?
|
|
|
+ type: boolean
|
|
|
+ isActive:
|
|
|
+ description: |
|
|
|
+ Is the member active?
|
|
|
+ type: boolean
|
|
|
+ isNoComments:
|
|
|
+ description: |
|
|
|
+ Is the member not allowed to make comments
|
|
|
+ type: boolean
|
|
|
+ isCommentOnly:
|
|
|
+ description: |
|
|
|
+ Is the member only allowed to comment on the board
|
|
|
+ type: boolean
|
|
|
+ isWorker:
|
|
|
+ description: |
|
|
|
+ Is the member only allowed to move card, assign himself to card and comment
|
|
|
+ type: boolean
|
|
|
+ required:
|
|
|
+ - userId
|
|
|
+ - isAdmin
|
|
|
+ - isActive
|
|
|
CardComments:
|
|
|
type: object
|
|
|
description: A comment on a card
|