wekan.yml 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877
  1. swagger: '2.0'
  2. info:
  3. title: Wekan REST API
  4. version: v4.85
  5. description: |
  6. The REST API allows you to control and extend Wekan with ease.
  7. 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.
  8. > 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.
  9. # Production Security Concerns
  10. 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:
  11. * Only call via HTTPS
  12. * Implement a timed authorization token expiration strategy
  13. * Ensure the calling user only has permissions for what they are calling and no more
  14. schemes:
  15. - http
  16. securityDefinitions:
  17. UserSecurity:
  18. type: apiKey
  19. in: header
  20. name: Authorization
  21. paths:
  22. /users/login:
  23. post:
  24. operationId: login
  25. summary: Login with REST API
  26. consumes:
  27. - application/x-www-form-urlencoded
  28. - application/json
  29. tags:
  30. - Login
  31. parameters:
  32. - name: username
  33. in: formData
  34. required: true
  35. description: |
  36. Your username
  37. type: string
  38. - name: password
  39. in: formData
  40. required: true
  41. description: |
  42. Your password
  43. type: string
  44. format: password
  45. responses:
  46. 200:
  47. description: |-
  48. Successful authentication
  49. schema:
  50. items:
  51. properties:
  52. id:
  53. type: string
  54. token:
  55. type: string
  56. tokenExpires:
  57. type: string
  58. 400:
  59. description: |
  60. Error in authentication
  61. schema:
  62. items:
  63. properties:
  64. error:
  65. type: number
  66. reason:
  67. type: string
  68. default:
  69. description: |
  70. Error in authentication
  71. /users/register:
  72. post:
  73. operationId: register
  74. summary: Register with REST API
  75. description: |
  76. Notes:
  77. - You will need to provide the token for any of the authenticated methods.
  78. consumes:
  79. - application/x-www-form-urlencoded
  80. - application/json
  81. tags:
  82. - Login
  83. parameters:
  84. - name: username
  85. in: formData
  86. required: true
  87. description: |
  88. Your username
  89. type: string
  90. - name: password
  91. in: formData
  92. required: true
  93. description: |
  94. Your password
  95. type: string
  96. format: password
  97. - name: email
  98. in: formData
  99. required: true
  100. description: |
  101. Your email
  102. type: string
  103. responses:
  104. 200:
  105. description: |-
  106. Successful registration
  107. schema:
  108. items:
  109. properties:
  110. id:
  111. type: string
  112. token:
  113. type: string
  114. tokenExpires:
  115. type: string
  116. 400:
  117. description: |
  118. Error in registration
  119. schema:
  120. items:
  121. properties:
  122. error:
  123. type: number
  124. reason:
  125. type: string
  126. default:
  127. description: |
  128. Error in registration
  129. /api/boards/{board}/cards/{card}/checklists:
  130. get:
  131. operationId: get_all_checklists
  132. summary: Get the list of checklists attached to a card
  133. tags:
  134. - Checklists
  135. parameters:
  136. - name: board
  137. in: path
  138. description: |
  139. the board ID
  140. type: string
  141. required: true
  142. - name: card
  143. in: path
  144. description: |
  145. the card ID
  146. type: string
  147. required: true
  148. produces:
  149. - application/json
  150. security:
  151. - UserSecurity: []
  152. responses:
  153. '200':
  154. description: |-
  155. 200 response
  156. schema:
  157. type: array
  158. items:
  159. type: object
  160. properties:
  161. _id:
  162. type: string
  163. title:
  164. type: string
  165. post:
  166. operationId: new_checklist
  167. summary: create a new checklist
  168. tags:
  169. - Checklists
  170. consumes:
  171. - multipart/form-data
  172. - application/json
  173. parameters:
  174. - name: title
  175. in: formData
  176. description: |
  177. the title of the new checklist
  178. type: string
  179. required: true
  180. - name: items
  181. in: formData
  182. description: |
  183. the list of items on the new checklist
  184. type: string
  185. required: false
  186. - name: board
  187. in: path
  188. description: |
  189. the board ID
  190. type: string
  191. required: true
  192. - name: card
  193. in: path
  194. description: |
  195. the card ID
  196. type: string
  197. required: true
  198. produces:
  199. - application/json
  200. security:
  201. - UserSecurity: []
  202. responses:
  203. '200':
  204. description: |-
  205. 200 response
  206. schema:
  207. type: object
  208. properties:
  209. _id:
  210. type: string
  211. /api/boards/{board}/cards/{card}/checklists/{checklist}:
  212. get:
  213. operationId: get_checklist
  214. summary: Get a checklist
  215. tags:
  216. - Checklists
  217. parameters:
  218. - name: board
  219. in: path
  220. description: |
  221. the board ID
  222. type: string
  223. required: true
  224. - name: card
  225. in: path
  226. description: |
  227. the card ID
  228. type: string
  229. required: true
  230. - name: checklist
  231. in: path
  232. description: |
  233. the ID of the checklist
  234. type: string
  235. required: true
  236. produces:
  237. - application/json
  238. security:
  239. - UserSecurity: []
  240. responses:
  241. '200':
  242. description: |-
  243. 200 response
  244. schema:
  245. type: object
  246. properties:
  247. cardId:
  248. type: string
  249. title:
  250. type: string
  251. finishedAt:
  252. type: string
  253. createdAt:
  254. type: string
  255. sort:
  256. type: number
  257. items:
  258. type: array
  259. items:
  260. type: object
  261. properties:
  262. _id:
  263. type: string
  264. title:
  265. type: string
  266. isFinished:
  267. type: boolean
  268. delete:
  269. operationId: delete_checklist
  270. summary: Delete a checklist
  271. description: |
  272. The checklist will be removed, not put in the recycle bin.
  273. tags:
  274. - Checklists
  275. parameters:
  276. - name: board
  277. in: path
  278. description: |
  279. the board ID
  280. type: string
  281. required: true
  282. - name: card
  283. in: path
  284. description: |
  285. the card ID
  286. type: string
  287. required: true
  288. - name: checklist
  289. in: path
  290. description: |
  291. the ID of the checklist to remove
  292. type: string
  293. required: true
  294. produces:
  295. - application/json
  296. security:
  297. - UserSecurity: []
  298. responses:
  299. '200':
  300. description: |-
  301. 200 response
  302. schema:
  303. type: object
  304. properties:
  305. _id:
  306. type: string
  307. /api/boards/{board}/cards/{card}/checklists/{checklist}/items/{item}:
  308. get:
  309. operationId: get_checklist_item
  310. summary: Get a checklist item
  311. tags:
  312. - ChecklistItems
  313. - Checklists
  314. parameters:
  315. - name: board
  316. in: path
  317. description: |
  318. the board ID
  319. type: string
  320. required: true
  321. - name: card
  322. in: path
  323. description: |
  324. the card ID
  325. type: string
  326. required: true
  327. - name: checklist
  328. in: path
  329. description: |
  330. the checklist ID
  331. type: string
  332. required: true
  333. - name: item
  334. in: path
  335. description: |
  336. the ID of the item
  337. type: string
  338. required: true
  339. produces:
  340. - application/json
  341. security:
  342. - UserSecurity: []
  343. responses:
  344. '200':
  345. description: |-
  346. 200 response
  347. schema:
  348. $ref: "#/definitions/ChecklistItems"
  349. put:
  350. operationId: edit_checklist_item
  351. summary: Edit a checklist item
  352. tags:
  353. - ChecklistItems
  354. - Checklists
  355. consumes:
  356. - multipart/form-data
  357. - application/json
  358. parameters:
  359. - name: isFinished
  360. in: formData
  361. description: |
  362. is the item checked?
  363. type: string
  364. required: false
  365. - name: title
  366. in: formData
  367. description: |
  368. the new text of the item
  369. type: string
  370. required: false
  371. - name: board
  372. in: path
  373. description: |
  374. the board ID
  375. type: string
  376. required: true
  377. - name: card
  378. in: path
  379. description: |
  380. the card ID
  381. type: string
  382. required: true
  383. - name: checklist
  384. in: path
  385. description: |
  386. the checklist ID
  387. type: string
  388. required: true
  389. - name: item
  390. in: path
  391. description: |
  392. the ID of the item
  393. type: string
  394. required: true
  395. produces:
  396. - application/json
  397. security:
  398. - UserSecurity: []
  399. responses:
  400. '200':
  401. description: |-
  402. 200 response
  403. schema:
  404. type: object
  405. properties:
  406. _id:
  407. type: string
  408. delete:
  409. operationId: delete_checklist_item
  410. summary: Delete a checklist item
  411. description: |
  412. Note: this operation can't be reverted.
  413. tags:
  414. - ChecklistItems
  415. - Checklists
  416. parameters:
  417. - name: board
  418. in: path
  419. description: |
  420. the board ID
  421. type: string
  422. required: true
  423. - name: card
  424. in: path
  425. description: |
  426. the card ID
  427. type: string
  428. required: true
  429. - name: checklist
  430. in: path
  431. description: |
  432. the checklist ID
  433. type: string
  434. required: true
  435. - name: item
  436. in: path
  437. description: |
  438. the ID of the item to be removed
  439. type: string
  440. required: true
  441. produces:
  442. - application/json
  443. security:
  444. - UserSecurity: []
  445. responses:
  446. '200':
  447. description: |-
  448. 200 response
  449. schema:
  450. type: object
  451. properties:
  452. _id:
  453. type: string
  454. /api/boards/{board}/cards/{card}/comments:
  455. get:
  456. operationId: get_all_comments
  457. summary: Get all comments attached to a card
  458. tags:
  459. - CardComments
  460. parameters:
  461. - name: board
  462. in: path
  463. description: |
  464. the board ID of the card
  465. type: string
  466. required: true
  467. - name: card
  468. in: path
  469. description: |
  470. the ID of the card
  471. type: string
  472. required: true
  473. produces:
  474. - application/json
  475. security:
  476. - UserSecurity: []
  477. responses:
  478. '200':
  479. description: |-
  480. 200 response
  481. schema:
  482. type: array
  483. items:
  484. type: object
  485. properties:
  486. _id:
  487. type: string
  488. comment:
  489. type: string
  490. authorId:
  491. type: string
  492. post:
  493. operationId: new_comment
  494. summary: Add a comment on a card
  495. tags:
  496. - CardComments
  497. consumes:
  498. - multipart/form-data
  499. - application/json
  500. parameters:
  501. - name: authorId
  502. in: formData
  503. description: |
  504. the user who 'posted' the comment
  505. type: string
  506. required: true
  507. - name: comment
  508. in: formData
  509. description: the comment value
  510. type: string
  511. required: true
  512. - name: board
  513. in: path
  514. description: |
  515. the board ID of the card
  516. type: string
  517. required: true
  518. - name: card
  519. in: path
  520. description: |
  521. the ID of the card
  522. type: string
  523. required: true
  524. produces:
  525. - application/json
  526. security:
  527. - UserSecurity: []
  528. responses:
  529. '200':
  530. description: |-
  531. 200 response
  532. schema:
  533. type: object
  534. properties:
  535. _id:
  536. type: string
  537. /api/boards/{board}/cards/{card}/comments/{comment}:
  538. get:
  539. operationId: get_comment
  540. summary: Get a comment on a card
  541. tags:
  542. - CardComments
  543. parameters:
  544. - name: board
  545. in: path
  546. description: |
  547. the board ID of the card
  548. type: string
  549. required: true
  550. - name: card
  551. in: path
  552. description: |
  553. the ID of the card
  554. type: string
  555. required: true
  556. - name: comment
  557. in: path
  558. description: |
  559. the ID of the comment to retrieve
  560. type: string
  561. required: true
  562. produces:
  563. - application/json
  564. security:
  565. - UserSecurity: []
  566. responses:
  567. '200':
  568. description: |-
  569. 200 response
  570. schema:
  571. $ref: "#/definitions/CardComments"
  572. delete:
  573. operationId: delete_comment
  574. summary: Delete a comment on a card
  575. tags:
  576. - CardComments
  577. parameters:
  578. - name: board
  579. in: path
  580. description: |
  581. the board ID of the card
  582. type: string
  583. required: true
  584. - name: card
  585. in: path
  586. description: |
  587. the ID of the card
  588. type: string
  589. required: true
  590. - name: comment
  591. in: path
  592. description: |
  593. the ID of the comment to delete
  594. type: string
  595. required: true
  596. produces:
  597. - application/json
  598. security:
  599. - UserSecurity: []
  600. responses:
  601. '200':
  602. description: |-
  603. 200 response
  604. schema:
  605. type: object
  606. properties:
  607. _id:
  608. type: string
  609. /api/boards/{board}/cardsByCustomField/{customField}/{customFieldValue}:
  610. get:
  611. operationId: get_cards_by_custom_field
  612. summary: Get all Cards that matchs a value of a specific custom field
  613. tags:
  614. - Cards
  615. parameters:
  616. - name: board
  617. in: path
  618. description: |
  619. the board ID
  620. type: string
  621. required: true
  622. - name: customField
  623. in: path
  624. description: |
  625. the list ID
  626. type: string
  627. required: true
  628. - name: customFieldValue
  629. in: path
  630. description: |
  631. the value to look for
  632. type: string
  633. required: true
  634. produces:
  635. - application/json
  636. security:
  637. - UserSecurity: []
  638. responses:
  639. '200':
  640. description: |-
  641. 200 response
  642. schema:
  643. type: array
  644. items:
  645. type: object
  646. properties:
  647. _id:
  648. type: string
  649. title:
  650. type: string
  651. description:
  652. type: string
  653. listId:
  654. type: string
  655. swinlaneId:
  656. type: string
  657. /api/boards/{board}/custom-fields:
  658. get:
  659. operationId: get_all_custom_fields
  660. summary: Get the list of Custom Fields attached to a board
  661. tags:
  662. - CustomFields
  663. parameters:
  664. - name: board
  665. in: path
  666. description: the board value
  667. type: string
  668. required: true
  669. produces:
  670. - application/json
  671. security:
  672. - UserSecurity: []
  673. responses:
  674. '200':
  675. description: |-
  676. 200 response
  677. schema:
  678. type: array
  679. items:
  680. type: object
  681. properties:
  682. _id:
  683. type: string
  684. name:
  685. type: string
  686. type:
  687. type: string
  688. post:
  689. operationId: new_custom_field
  690. summary: Create a Custom Field
  691. tags:
  692. - CustomFields
  693. consumes:
  694. - multipart/form-data
  695. - application/json
  696. parameters:
  697. - name: name
  698. in: formData
  699. description: |
  700. the name of the custom field
  701. type: string
  702. required: true
  703. - name: type
  704. in: formData
  705. description: |
  706. the type of the custom field
  707. type: string
  708. required: true
  709. - name: settings
  710. in: formData
  711. description: |
  712. the settings object of the custom field
  713. type: string
  714. required: true
  715. - name: showOnCard
  716. in: formData
  717. description: |
  718. should we show the custom field on cards?
  719. type: boolean
  720. required: true
  721. - name: automaticallyOnCard
  722. in: formData
  723. description: |
  724. should the custom fields automatically be added on cards?
  725. type: boolean
  726. required: true
  727. - name: showLabelOnMiniCard
  728. in: formData
  729. description: |
  730. should the label of the custom field be shown on minicards?
  731. type: boolean
  732. required: true
  733. - name: authorId
  734. in: formData
  735. description: the authorId value
  736. type: string
  737. required: true
  738. - name: board
  739. in: path
  740. description: the board value
  741. type: string
  742. required: true
  743. produces:
  744. - application/json
  745. security:
  746. - UserSecurity: []
  747. responses:
  748. '200':
  749. description: |-
  750. 200 response
  751. schema:
  752. type: object
  753. properties:
  754. _id:
  755. type: string
  756. /api/boards/{board}/custom-fields/{customField}:
  757. get:
  758. operationId: get_custom_field
  759. summary: Get a Custom Fields attached to a board
  760. tags:
  761. - CustomFields
  762. parameters:
  763. - name: board
  764. in: path
  765. description: the board value
  766. type: string
  767. required: true
  768. - name: customField
  769. in: path
  770. description: |
  771. the ID of the custom field
  772. type: string
  773. required: true
  774. produces:
  775. - application/json
  776. security:
  777. - UserSecurity: []
  778. responses:
  779. '200':
  780. description: |-
  781. 200 response
  782. schema:
  783. $ref: "#/definitions/CustomFields"
  784. delete:
  785. operationId: delete_custom_field
  786. summary: Delete a Custom Fields attached to a board
  787. description: |
  788. The Custom Field can't be retrieved after this operation
  789. tags:
  790. - CustomFields
  791. parameters:
  792. - name: board
  793. in: path
  794. description: the board value
  795. type: string
  796. required: true
  797. - name: customField
  798. in: path
  799. description: |
  800. the ID of the custom field
  801. type: string
  802. required: true
  803. produces:
  804. - application/json
  805. security:
  806. - UserSecurity: []
  807. responses:
  808. '200':
  809. description: |-
  810. 200 response
  811. schema:
  812. type: object
  813. properties:
  814. _id:
  815. type: string
  816. /api/boards/{board}/export:
  817. get:
  818. operationId: exportJson
  819. summary: This route is used to export the board to a json file format.
  820. description: |
  821. If user is already logged-in, pass loginToken as param
  822. "authToken": '/api/boards/:boardId/export?authToken=:token'
  823. See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/
  824. for detailed explanations
  825. tags:
  826. - Boards
  827. parameters:
  828. - name: board
  829. in: path
  830. description: |
  831. the ID of the board we are exporting
  832. type: string
  833. required: true
  834. produces:
  835. - application/json
  836. security:
  837. - UserSecurity: []
  838. responses:
  839. '200':
  840. description: |-
  841. 200 response
  842. /api/boards/{board}/integrations:
  843. get:
  844. operationId: get_all_integrations
  845. summary: Get all integrations in board
  846. tags:
  847. - Integrations
  848. parameters:
  849. - name: board
  850. in: path
  851. description: |
  852. the board ID
  853. type: string
  854. required: true
  855. produces:
  856. - application/json
  857. security:
  858. - UserSecurity: []
  859. responses:
  860. '200':
  861. description: |-
  862. 200 response
  863. schema:
  864. type: array
  865. items:
  866. $ref: "#/definitions/Integrations"
  867. post:
  868. operationId: new_integration
  869. summary: Create a new integration
  870. tags:
  871. - Integrations
  872. consumes:
  873. - multipart/form-data
  874. - application/json
  875. parameters:
  876. - name: url
  877. in: formData
  878. description: |
  879. the URL of the integration
  880. type: string
  881. required: true
  882. - name: board
  883. in: path
  884. description: |
  885. the board ID
  886. type: string
  887. required: true
  888. produces:
  889. - application/json
  890. security:
  891. - UserSecurity: []
  892. responses:
  893. '200':
  894. description: |-
  895. 200 response
  896. schema:
  897. type: object
  898. properties:
  899. _id:
  900. type: string
  901. /api/boards/{board}/integrations/{int}:
  902. get:
  903. operationId: get_integration
  904. summary: Get a single integration in board
  905. tags:
  906. - Integrations
  907. parameters:
  908. - name: board
  909. in: path
  910. description: |
  911. the board ID
  912. type: string
  913. required: true
  914. - name: int
  915. in: path
  916. description: |
  917. the integration ID
  918. type: string
  919. required: true
  920. produces:
  921. - application/json
  922. security:
  923. - UserSecurity: []
  924. responses:
  925. '200':
  926. description: |-
  927. 200 response
  928. schema:
  929. $ref: "#/definitions/Integrations"
  930. put:
  931. operationId: edit_integration
  932. summary: Edit integration data
  933. tags:
  934. - Integrations
  935. consumes:
  936. - multipart/form-data
  937. - application/json
  938. parameters:
  939. - name: enabled
  940. in: formData
  941. description: |
  942. is the integration enabled?
  943. type: string
  944. required: false
  945. - name: title
  946. in: formData
  947. description: |
  948. new name of the integration
  949. type: string
  950. required: false
  951. - name: url
  952. in: formData
  953. description: |
  954. new URL of the integration
  955. type: string
  956. required: false
  957. - name: token
  958. in: formData
  959. description: |
  960. new token of the integration
  961. type: string
  962. required: false
  963. - name: activities
  964. in: formData
  965. description: |
  966. new list of activities of the integration
  967. type: string
  968. required: false
  969. - name: board
  970. in: path
  971. description: |
  972. the board ID
  973. type: string
  974. required: true
  975. - name: int
  976. in: path
  977. description: |
  978. the integration ID
  979. type: string
  980. required: true
  981. produces:
  982. - application/json
  983. security:
  984. - UserSecurity: []
  985. responses:
  986. '200':
  987. description: |-
  988. 200 response
  989. schema:
  990. type: object
  991. properties:
  992. _id:
  993. type: string
  994. delete:
  995. operationId: delete_integration
  996. summary: Delete integration
  997. tags:
  998. - Integrations
  999. parameters:
  1000. - name: board
  1001. in: path
  1002. description: |
  1003. the board ID
  1004. type: string
  1005. required: true
  1006. - name: int
  1007. in: path
  1008. description: |
  1009. the integration ID
  1010. type: string
  1011. required: true
  1012. produces:
  1013. - application/json
  1014. security:
  1015. - UserSecurity: []
  1016. responses:
  1017. '200':
  1018. description: |-
  1019. 200 response
  1020. schema:
  1021. type: object
  1022. properties:
  1023. _id:
  1024. type: string
  1025. /api/boards/{board}/integrations/{int}/activities:
  1026. delete:
  1027. operationId: delete_integration_activities
  1028. summary: Delete subscribed activities
  1029. tags:
  1030. - Integrations
  1031. parameters:
  1032. - name: board
  1033. in: path
  1034. description: |
  1035. the board ID
  1036. type: string
  1037. required: true
  1038. - name: int
  1039. in: path
  1040. description: |
  1041. the integration ID
  1042. type: string
  1043. required: true
  1044. produces:
  1045. - application/json
  1046. security:
  1047. - UserSecurity: []
  1048. responses:
  1049. '200':
  1050. description: |-
  1051. 200 response
  1052. schema:
  1053. $ref: "#/definitions/Integrations"
  1054. post:
  1055. operationId: new_integration_activities
  1056. summary: Add subscribed activities
  1057. tags:
  1058. - Integrations
  1059. consumes:
  1060. - multipart/form-data
  1061. - application/json
  1062. parameters:
  1063. - name: activities
  1064. in: formData
  1065. description: the activities value
  1066. type: string
  1067. required: true
  1068. - name: board
  1069. in: path
  1070. description: |
  1071. the board ID
  1072. type: string
  1073. required: true
  1074. - name: int
  1075. in: path
  1076. description: |
  1077. the integration ID
  1078. type: string
  1079. required: true
  1080. produces:
  1081. - application/json
  1082. security:
  1083. - UserSecurity: []
  1084. responses:
  1085. '200':
  1086. description: |-
  1087. 200 response
  1088. schema:
  1089. $ref: "#/definitions/Integrations"
  1090. /api/boards/{board}/lists:
  1091. get:
  1092. operationId: get_all_lists
  1093. summary: Get the list of Lists attached to a board
  1094. tags:
  1095. - Lists
  1096. parameters:
  1097. - name: board
  1098. in: path
  1099. description: |
  1100. the board ID
  1101. type: string
  1102. required: true
  1103. produces:
  1104. - application/json
  1105. security:
  1106. - UserSecurity: []
  1107. responses:
  1108. '200':
  1109. description: |-
  1110. 200 response
  1111. schema:
  1112. type: array
  1113. items:
  1114. type: object
  1115. properties:
  1116. _id:
  1117. type: string
  1118. title:
  1119. type: string
  1120. post:
  1121. operationId: new_list
  1122. summary: Add a List to a board
  1123. tags:
  1124. - Lists
  1125. consumes:
  1126. - multipart/form-data
  1127. - application/json
  1128. parameters:
  1129. - name: title
  1130. in: formData
  1131. description: |
  1132. the title of the List
  1133. type: string
  1134. required: true
  1135. - name: board
  1136. in: path
  1137. description: |
  1138. the board ID
  1139. type: string
  1140. required: true
  1141. produces:
  1142. - application/json
  1143. security:
  1144. - UserSecurity: []
  1145. responses:
  1146. '200':
  1147. description: |-
  1148. 200 response
  1149. schema:
  1150. type: object
  1151. properties:
  1152. _id:
  1153. type: string
  1154. /api/boards/{board}/lists/{list}:
  1155. get:
  1156. operationId: get_list
  1157. summary: Get a List attached to a board
  1158. tags:
  1159. - Lists
  1160. parameters:
  1161. - name: board
  1162. in: path
  1163. description: |
  1164. the board ID
  1165. type: string
  1166. required: true
  1167. - name: list
  1168. in: path
  1169. description: |
  1170. the List ID
  1171. type: string
  1172. required: true
  1173. produces:
  1174. - application/json
  1175. security:
  1176. - UserSecurity: []
  1177. responses:
  1178. '200':
  1179. description: |-
  1180. 200 response
  1181. schema:
  1182. $ref: "#/definitions/Lists"
  1183. delete:
  1184. operationId: delete_list
  1185. summary: Delete a List
  1186. description: |
  1187. This **deletes** a list from a board.
  1188. The list is not put in the recycle bin.
  1189. tags:
  1190. - Lists
  1191. parameters:
  1192. - name: board
  1193. in: path
  1194. description: |
  1195. the board ID
  1196. type: string
  1197. required: true
  1198. - name: list
  1199. in: path
  1200. description: |
  1201. the ID of the list to remove
  1202. type: string
  1203. required: true
  1204. produces:
  1205. - application/json
  1206. security:
  1207. - UserSecurity: []
  1208. responses:
  1209. '200':
  1210. description: |-
  1211. 200 response
  1212. schema:
  1213. type: object
  1214. properties:
  1215. _id:
  1216. type: string
  1217. /api/boards/{board}/lists/{list}/cards:
  1218. get:
  1219. operationId: get_all_cards
  1220. summary: Get all Cards attached to a List
  1221. tags:
  1222. - Cards
  1223. parameters:
  1224. - name: board
  1225. in: path
  1226. description: |
  1227. the board ID
  1228. type: string
  1229. required: true
  1230. - name: list
  1231. in: path
  1232. description: |
  1233. the list ID
  1234. type: string
  1235. required: true
  1236. produces:
  1237. - application/json
  1238. security:
  1239. - UserSecurity: []
  1240. responses:
  1241. '200':
  1242. description: |-
  1243. 200 response
  1244. schema:
  1245. type: array
  1246. items:
  1247. type: object
  1248. properties:
  1249. _id:
  1250. type: string
  1251. title:
  1252. type: string
  1253. description:
  1254. type: string
  1255. post:
  1256. operationId: new_card
  1257. summary: Create a new Card
  1258. tags:
  1259. - Cards
  1260. consumes:
  1261. - multipart/form-data
  1262. - application/json
  1263. parameters:
  1264. - name: authorId
  1265. in: formData
  1266. description: the authorId value
  1267. type: string
  1268. required: true
  1269. - name: members
  1270. in: formData
  1271. description: |
  1272. the member IDs list of the new card
  1273. type: string
  1274. required: false
  1275. - name: assignees
  1276. in: formData
  1277. description: |
  1278. the array of maximum one ID of assignee of the new card
  1279. type: string
  1280. required: false
  1281. - name: title
  1282. in: formData
  1283. description: |
  1284. the title of the new card
  1285. type: string
  1286. required: true
  1287. - name: description
  1288. in: formData
  1289. description: |
  1290. the description of the new card
  1291. type: string
  1292. required: true
  1293. - name: swimlaneId
  1294. in: formData
  1295. description: |
  1296. the swimlane ID of the new card
  1297. type: string
  1298. required: true
  1299. - name: board
  1300. in: path
  1301. description: |
  1302. the board ID of the new card
  1303. type: string
  1304. required: true
  1305. - name: list
  1306. in: path
  1307. description: |
  1308. the list ID of the new card
  1309. type: string
  1310. required: true
  1311. produces:
  1312. - application/json
  1313. security:
  1314. - UserSecurity: []
  1315. responses:
  1316. '200':
  1317. description: |-
  1318. 200 response
  1319. schema:
  1320. type: object
  1321. properties:
  1322. _id:
  1323. type: string
  1324. /api/boards/{board}/lists/{list}/cards/{card}:
  1325. get:
  1326. operationId: get_card
  1327. summary: Get a Card
  1328. tags:
  1329. - Cards
  1330. parameters:
  1331. - name: board
  1332. in: path
  1333. description: |
  1334. the board ID
  1335. type: string
  1336. required: true
  1337. - name: list
  1338. in: path
  1339. description: |
  1340. the list ID of the card
  1341. type: string
  1342. required: true
  1343. - name: card
  1344. in: path
  1345. description: |
  1346. the card ID
  1347. type: string
  1348. required: true
  1349. produces:
  1350. - application/json
  1351. security:
  1352. - UserSecurity: []
  1353. responses:
  1354. '200':
  1355. description: |-
  1356. 200 response
  1357. schema:
  1358. $ref: "#/definitions/Cards"
  1359. put:
  1360. operationId: edit_card
  1361. summary: Edit Fields in a Card
  1362. description: |
  1363. Edit a card
  1364. The color has to be chosen between `white`, `green`, `yellow`, `orange`,
  1365. `red`, `purple`, `blue`, `sky`, `lime`, `pink`, `black`, `silver`,
  1366. `peachpuff`, `crimson`, `plum`, `darkgreen`, `slateblue`, `magenta`,
  1367. `gold`, `navy`, `gray`, `saddlebrown`, `paleturquoise`, `mistyrose`,
  1368. `indigo`:
  1369. <img src="/card-colors.png" width="40%" alt="Wekan card colors" />
  1370. Note: setting the color to white has the same effect than removing it.
  1371. tags:
  1372. - Cards
  1373. consumes:
  1374. - multipart/form-data
  1375. - application/json
  1376. parameters:
  1377. - name: title
  1378. in: formData
  1379. description: |
  1380. the new title of the card
  1381. type: string
  1382. required: false
  1383. - name: parentId
  1384. in: formData
  1385. description: |
  1386. change the parent of the card
  1387. type: string
  1388. required: false
  1389. - name: description
  1390. in: formData
  1391. description: |
  1392. the new description of the card
  1393. type: string
  1394. required: false
  1395. - name: color
  1396. in: formData
  1397. description: |
  1398. the new color of the card
  1399. type: string
  1400. required: false
  1401. - name: vote
  1402. in: formData
  1403. description: |
  1404. the vote object
  1405. type: object
  1406. required: false
  1407. - name: labelIds
  1408. in: formData
  1409. description: |
  1410. the new list of label IDs attached to the card
  1411. type: string
  1412. required: false
  1413. - name: requestedBy
  1414. in: formData
  1415. description: |
  1416. the new requestedBy field of the card
  1417. type: string
  1418. required: false
  1419. - name: assignedBy
  1420. in: formData
  1421. description: |
  1422. the new assignedBy field of the card
  1423. type: string
  1424. required: false
  1425. - name: receivedAt
  1426. in: formData
  1427. description: |
  1428. the new receivedAt field of the card
  1429. type: string
  1430. required: false
  1431. - name: startAt
  1432. in: formData
  1433. description: |
  1434. the new startAt field of the card
  1435. type: string
  1436. required: false
  1437. - name: dueAt
  1438. in: formData
  1439. description: |
  1440. the new dueAt field of the card
  1441. type: string
  1442. required: false
  1443. - name: endAt
  1444. in: formData
  1445. description: |
  1446. the new endAt field of the card
  1447. type: string
  1448. required: false
  1449. - name: spentTime
  1450. in: formData
  1451. description: |
  1452. the new spentTime field of the card
  1453. type: string
  1454. required: false
  1455. - name: isOverTime
  1456. in: formData
  1457. description: |
  1458. the new isOverTime field of the card
  1459. type: boolean
  1460. required: false
  1461. - name: customFields
  1462. in: formData
  1463. description: |
  1464. the new customFields value of the card
  1465. type: string
  1466. required: false
  1467. - name: members
  1468. in: formData
  1469. description: |
  1470. the new list of member IDs attached to the card
  1471. type: string
  1472. required: false
  1473. - name: assignees
  1474. in: formData
  1475. description: |
  1476. the array of maximum one ID of assignee attached to the card
  1477. type: string
  1478. required: false
  1479. - name: swimlaneId
  1480. in: formData
  1481. description: |
  1482. the new swimlane ID of the card
  1483. type: string
  1484. required: false
  1485. - name: listId
  1486. in: formData
  1487. description: |
  1488. the new list ID of the card (move operation)
  1489. type: string
  1490. required: false
  1491. - name: authorId
  1492. in: formData
  1493. description: |
  1494. change the owner of the card
  1495. type: string
  1496. required: false
  1497. - name: board
  1498. in: path
  1499. description: |
  1500. the board ID of the card
  1501. type: string
  1502. required: true
  1503. - name: list
  1504. in: path
  1505. description: |
  1506. the list ID of the card
  1507. type: string
  1508. required: true
  1509. - name: card
  1510. in: path
  1511. description: |
  1512. the ID of the card
  1513. type: string
  1514. required: true
  1515. produces:
  1516. - application/json
  1517. security:
  1518. - UserSecurity: []
  1519. responses:
  1520. '200':
  1521. description: |-
  1522. 200 response
  1523. schema:
  1524. type: object
  1525. properties:
  1526. _id:
  1527. type: string
  1528. delete:
  1529. operationId: delete_card
  1530. summary: Delete a card from a board
  1531. description: |
  1532. This operation **deletes** a card, and therefore the card
  1533. is not put in the recycle bin.
  1534. tags:
  1535. - Cards
  1536. parameters:
  1537. - name: board
  1538. in: path
  1539. description: |
  1540. the board ID of the card
  1541. type: string
  1542. required: true
  1543. - name: list
  1544. in: path
  1545. description: |
  1546. the list ID of the card
  1547. type: string
  1548. required: true
  1549. - name: card
  1550. in: path
  1551. description: |
  1552. the ID of the card
  1553. type: string
  1554. required: true
  1555. produces:
  1556. - application/json
  1557. security:
  1558. - UserSecurity: []
  1559. responses:
  1560. '200':
  1561. description: |-
  1562. 200 response
  1563. schema:
  1564. type: object
  1565. properties:
  1566. _id:
  1567. type: string
  1568. /api/boards/{board}/members/{user}/add:
  1569. post:
  1570. operationId: add_board_member
  1571. summary: Add New Board Member with Role
  1572. description: |
  1573. Only the admin user (the first user) can call the REST API.
  1574. **Note**: see [Boards.set_board_member_permission](#set_board_member_permission)
  1575. to later change the permissions.
  1576. tags:
  1577. - Users
  1578. - Boards
  1579. consumes:
  1580. - multipart/form-data
  1581. - application/json
  1582. parameters:
  1583. - name: action
  1584. in: formData
  1585. description: the action value
  1586. type: string
  1587. required: true
  1588. - name: isAdmin
  1589. in: formData
  1590. description: |
  1591. is the user an admin of the board
  1592. type: boolean
  1593. required: true
  1594. - name: isNoComments
  1595. in: formData
  1596. description: |
  1597. disable comments
  1598. type: boolean
  1599. required: true
  1600. - name: isCommentOnly
  1601. in: formData
  1602. description: |
  1603. only enable comments
  1604. type: boolean
  1605. required: true
  1606. - name: board
  1607. in: path
  1608. description: |
  1609. the board ID
  1610. type: string
  1611. required: true
  1612. - name: user
  1613. in: path
  1614. description: |
  1615. the user ID
  1616. type: string
  1617. required: true
  1618. produces:
  1619. - application/json
  1620. security:
  1621. - UserSecurity: []
  1622. responses:
  1623. '200':
  1624. description: |-
  1625. 200 response
  1626. schema:
  1627. type: object
  1628. properties:
  1629. _id:
  1630. type: string
  1631. title:
  1632. type: string
  1633. /api/boards/{board}/members/{user}/remove:
  1634. post:
  1635. operationId: remove_board_member
  1636. summary: Remove Member from Board
  1637. description: |
  1638. Only the admin user (the first user) can call the REST API.
  1639. tags:
  1640. - Users
  1641. - Boards
  1642. consumes:
  1643. - multipart/form-data
  1644. - application/json
  1645. parameters:
  1646. - name: action
  1647. in: formData
  1648. description: |
  1649. the action (needs to be `remove`)
  1650. type: string
  1651. required: true
  1652. - name: board
  1653. in: path
  1654. description: |
  1655. the board ID
  1656. type: string
  1657. required: true
  1658. - name: user
  1659. in: path
  1660. description: |
  1661. the user ID
  1662. type: string
  1663. required: true
  1664. produces:
  1665. - application/json
  1666. security:
  1667. - UserSecurity: []
  1668. responses:
  1669. '200':
  1670. description: |-
  1671. 200 response
  1672. schema:
  1673. type: object
  1674. properties:
  1675. _id:
  1676. type: string
  1677. title:
  1678. type: string
  1679. /api/boards/{board}/swimlanes:
  1680. get:
  1681. operationId: get_all_swimlanes
  1682. summary: Get the list of swimlanes attached to a board
  1683. tags:
  1684. - Swimlanes
  1685. parameters:
  1686. - name: board
  1687. in: path
  1688. description: |
  1689. the ID of the board
  1690. type: string
  1691. required: true
  1692. produces:
  1693. - application/json
  1694. security:
  1695. - UserSecurity: []
  1696. responses:
  1697. '200':
  1698. description: |-
  1699. 200 response
  1700. schema:
  1701. type: array
  1702. items:
  1703. type: object
  1704. properties:
  1705. _id:
  1706. type: string
  1707. title:
  1708. type: string
  1709. post:
  1710. operationId: new_swimlane
  1711. summary: Add a swimlane to a board
  1712. tags:
  1713. - Swimlanes
  1714. consumes:
  1715. - multipart/form-data
  1716. - application/json
  1717. parameters:
  1718. - name: title
  1719. in: formData
  1720. description: |
  1721. the new title of the swimlane
  1722. type: string
  1723. required: true
  1724. - name: board
  1725. in: path
  1726. description: |
  1727. the ID of the board
  1728. type: string
  1729. required: true
  1730. produces:
  1731. - application/json
  1732. security:
  1733. - UserSecurity: []
  1734. responses:
  1735. '200':
  1736. description: |-
  1737. 200 response
  1738. schema:
  1739. type: object
  1740. properties:
  1741. _id:
  1742. type: string
  1743. /api/boards/{board}/swimlanes/{swimlane}:
  1744. get:
  1745. operationId: get_swimlane
  1746. summary: Get a swimlane
  1747. tags:
  1748. - Swimlanes
  1749. parameters:
  1750. - name: board
  1751. in: path
  1752. description: |
  1753. the ID of the board
  1754. type: string
  1755. required: true
  1756. - name: swimlane
  1757. in: path
  1758. description: |
  1759. the ID of the swimlane
  1760. type: string
  1761. required: true
  1762. produces:
  1763. - application/json
  1764. security:
  1765. - UserSecurity: []
  1766. responses:
  1767. '200':
  1768. description: |-
  1769. 200 response
  1770. schema:
  1771. $ref: "#/definitions/Swimlanes"
  1772. delete:
  1773. operationId: delete_swimlane
  1774. summary: Delete a swimlane
  1775. description: |
  1776. The swimlane will be deleted, not moved to the recycle bin
  1777. tags:
  1778. - Swimlanes
  1779. parameters:
  1780. - name: board
  1781. in: path
  1782. description: |
  1783. the ID of the board
  1784. type: string
  1785. required: true
  1786. - name: swimlane
  1787. in: path
  1788. description: |
  1789. the ID of the swimlane
  1790. type: string
  1791. required: true
  1792. produces:
  1793. - application/json
  1794. security:
  1795. - UserSecurity: []
  1796. responses:
  1797. '200':
  1798. description: |-
  1799. 200 response
  1800. schema:
  1801. type: object
  1802. properties:
  1803. _id:
  1804. type: string
  1805. /api/boards/{board}/swimlanes/{swimlane}/cards:
  1806. get:
  1807. operationId: get_swimlane_cards
  1808. summary: get all cards attached to a swimlane
  1809. tags:
  1810. - Cards
  1811. parameters:
  1812. - name: board
  1813. in: path
  1814. description: |
  1815. the board ID
  1816. type: string
  1817. required: true
  1818. - name: swimlane
  1819. in: path
  1820. description: |
  1821. the swimlane ID
  1822. type: string
  1823. required: true
  1824. produces:
  1825. - application/json
  1826. security:
  1827. - UserSecurity: []
  1828. responses:
  1829. '200':
  1830. description: |-
  1831. 200 response
  1832. schema:
  1833. type: array
  1834. items:
  1835. type: object
  1836. properties:
  1837. _id:
  1838. type: string
  1839. title:
  1840. type: string
  1841. description:
  1842. type: string
  1843. listId:
  1844. type: string
  1845. /api/user:
  1846. get:
  1847. operationId: get_current_user
  1848. summary: returns the current user
  1849. tags:
  1850. - Users
  1851. produces:
  1852. - application/json
  1853. security:
  1854. - UserSecurity: []
  1855. responses:
  1856. '200':
  1857. description: |-
  1858. 200 response
  1859. schema:
  1860. $ref: "#/definitions/Users"
  1861. /api/users:
  1862. get:
  1863. operationId: get_all_users
  1864. summary: return all the users
  1865. description: |
  1866. Only the admin user (the first user) can call the REST API.
  1867. tags:
  1868. - Users
  1869. produces:
  1870. - application/json
  1871. security:
  1872. - UserSecurity: []
  1873. responses:
  1874. '200':
  1875. description: |-
  1876. 200 response
  1877. schema:
  1878. type: array
  1879. items:
  1880. type: object
  1881. properties:
  1882. _id:
  1883. type: string
  1884. username:
  1885. type: string
  1886. post:
  1887. operationId: new_user
  1888. summary: Create a new user
  1889. description: |
  1890. Only the admin user (the first user) can call the REST API.
  1891. tags:
  1892. - Users
  1893. consumes:
  1894. - multipart/form-data
  1895. - application/json
  1896. parameters:
  1897. - name: username
  1898. in: formData
  1899. description: |
  1900. the new username
  1901. type: string
  1902. required: true
  1903. - name: email
  1904. in: formData
  1905. description: |
  1906. the email of the new user
  1907. type: string
  1908. required: true
  1909. - name: password
  1910. in: formData
  1911. description: |
  1912. the password of the new user
  1913. type: string
  1914. required: true
  1915. produces:
  1916. - application/json
  1917. security:
  1918. - UserSecurity: []
  1919. responses:
  1920. '200':
  1921. description: |-
  1922. 200 response
  1923. schema:
  1924. type: object
  1925. properties:
  1926. _id:
  1927. type: string
  1928. /api/users/{user}:
  1929. get:
  1930. operationId: get_user
  1931. summary: get a given user
  1932. description: |
  1933. Only the admin user (the first user) can call the REST API.
  1934. tags:
  1935. - Users
  1936. parameters:
  1937. - name: user
  1938. in: path
  1939. description: |
  1940. the user ID
  1941. type: string
  1942. required: true
  1943. produces:
  1944. - application/json
  1945. security:
  1946. - UserSecurity: []
  1947. responses:
  1948. '200':
  1949. description: |-
  1950. 200 response
  1951. schema:
  1952. $ref: "#/definitions/Users"
  1953. put:
  1954. operationId: edit_user
  1955. summary: edit a given user
  1956. description: |
  1957. Only the admin user (the first user) can call the REST API.
  1958. Possible values for *action*:
  1959. - `takeOwnership`: The admin takes the ownership of ALL boards of the user (archived and not archived) where the user is admin on.
  1960. - `disableLogin`: Disable a user (the user is not allowed to login and his login tokens are purged)
  1961. - `enableLogin`: Enable a user
  1962. tags:
  1963. - Users
  1964. consumes:
  1965. - multipart/form-data
  1966. - application/json
  1967. parameters:
  1968. - name: action
  1969. in: formData
  1970. description: |
  1971. the action
  1972. type: string
  1973. required: true
  1974. - name: user
  1975. in: path
  1976. description: |
  1977. the user ID
  1978. type: string
  1979. required: true
  1980. produces:
  1981. - application/json
  1982. security:
  1983. - UserSecurity: []
  1984. responses:
  1985. '200':
  1986. description: |-
  1987. 200 response
  1988. schema:
  1989. type: object
  1990. properties:
  1991. _id:
  1992. type: string
  1993. title:
  1994. type: string
  1995. delete:
  1996. operationId: delete_user
  1997. summary: Delete a user
  1998. description: |
  1999. Only the admin user (the first user) can call the REST API.
  2000. tags:
  2001. - Users
  2002. parameters:
  2003. - name: user
  2004. in: path
  2005. description: |
  2006. the ID of the user to delete
  2007. type: string
  2008. required: true
  2009. produces:
  2010. - application/json
  2011. security:
  2012. - UserSecurity: []
  2013. responses:
  2014. '200':
  2015. description: |-
  2016. 200 response
  2017. schema:
  2018. type: object
  2019. properties:
  2020. _id:
  2021. type: string
  2022. definitions:
  2023. CardComments:
  2024. type: object
  2025. description: A comment on a card
  2026. properties:
  2027. boardId:
  2028. description: |
  2029. the board ID
  2030. type: string
  2031. cardId:
  2032. description: |
  2033. the card ID
  2034. type: string
  2035. text:
  2036. description: |
  2037. the text of the comment
  2038. type: string
  2039. createdAt:
  2040. description: |
  2041. when was the comment created
  2042. type: string
  2043. modifiedAt:
  2044. type: string
  2045. userId:
  2046. description: |
  2047. the author ID of the comment
  2048. type: string
  2049. required:
  2050. - boardId
  2051. - cardId
  2052. - text
  2053. - createdAt
  2054. - modifiedAt
  2055. - userId
  2056. Cards:
  2057. type: object
  2058. properties:
  2059. title:
  2060. description: |
  2061. the title of the card
  2062. type: string
  2063. x-nullable: true
  2064. archived:
  2065. description: |
  2066. is the card archived
  2067. type: boolean
  2068. parentId:
  2069. description: |
  2070. ID of the parent card
  2071. type: string
  2072. x-nullable: true
  2073. listId:
  2074. description: |
  2075. List ID where the card is
  2076. type: string
  2077. x-nullable: true
  2078. swimlaneId:
  2079. description: |
  2080. Swimlane ID where the card is
  2081. type: string
  2082. boardId:
  2083. description: |
  2084. Board ID of the card
  2085. type: string
  2086. x-nullable: true
  2087. coverId:
  2088. description: |
  2089. Cover ID of the card
  2090. type: string
  2091. x-nullable: true
  2092. color:
  2093. type: string
  2094. enum:
  2095. - white
  2096. - green
  2097. - yellow
  2098. - orange
  2099. - red
  2100. - purple
  2101. - blue
  2102. - sky
  2103. - lime
  2104. - pink
  2105. - black
  2106. - silver
  2107. - peachpuff
  2108. - crimson
  2109. - plum
  2110. - darkgreen
  2111. - slateblue
  2112. - magenta
  2113. - gold
  2114. - navy
  2115. - gray
  2116. - saddlebrown
  2117. - paleturquoise
  2118. - mistyrose
  2119. - indigo
  2120. x-nullable: true
  2121. createdAt:
  2122. description: |
  2123. creation date
  2124. type: string
  2125. modifiedAt:
  2126. type: string
  2127. customFields:
  2128. description: |
  2129. list of custom fields
  2130. type: array
  2131. items:
  2132. $ref: "#/definitions/CardsCustomfields"
  2133. x-nullable: true
  2134. dateLastActivity:
  2135. description: |
  2136. Date of last activity
  2137. type: string
  2138. description:
  2139. description: |
  2140. description of the card
  2141. type: string
  2142. x-nullable: true
  2143. requestedBy:
  2144. description: |
  2145. who requested the card (ID of the user)
  2146. type: string
  2147. x-nullable: true
  2148. assignedBy:
  2149. description: |
  2150. who assigned the card (ID of the user)
  2151. type: string
  2152. x-nullable: true
  2153. labelIds:
  2154. description: |
  2155. list of labels ID the card has
  2156. type: array
  2157. items:
  2158. type: string
  2159. x-nullable: true
  2160. x-nullable: true
  2161. members:
  2162. description: |
  2163. list of members (user IDs)
  2164. type: array
  2165. items:
  2166. type: string
  2167. x-nullable: true
  2168. x-nullable: true
  2169. assignees:
  2170. description: |
  2171. who is assignee of the card (user ID),
  2172. maximum one ID of assignee in array.
  2173. type: array
  2174. items:
  2175. type: string
  2176. x-nullable: true
  2177. x-nullable: true
  2178. receivedAt:
  2179. description: |
  2180. Date the card was received
  2181. type: string
  2182. x-nullable: true
  2183. startAt:
  2184. description: |
  2185. Date the card was started to be worked on
  2186. type: string
  2187. x-nullable: true
  2188. dueAt:
  2189. description: |
  2190. Date the card is due
  2191. type: string
  2192. x-nullable: true
  2193. endAt:
  2194. description: |
  2195. Date the card ended
  2196. type: string
  2197. x-nullable: true
  2198. spentTime:
  2199. description: |
  2200. How much time has been spent on this
  2201. type: number
  2202. x-nullable: true
  2203. isOvertime:
  2204. description: |
  2205. is the card over time?
  2206. type: boolean
  2207. x-nullable: true
  2208. userId:
  2209. description: |
  2210. user ID of the author of the card
  2211. type: string
  2212. sort:
  2213. description: |
  2214. Sort value
  2215. type: number
  2216. subtaskSort:
  2217. description: |
  2218. subtask sort value
  2219. type: number
  2220. x-nullable: true
  2221. type:
  2222. description: |
  2223. type of the card
  2224. type: string
  2225. linkedId:
  2226. description: |
  2227. ID of the linked card
  2228. type: string
  2229. x-nullable: true
  2230. vote:
  2231. description: |
  2232. vote object, see below
  2233. $ref: "#/definitions/CardsVote"
  2234. x-nullable: true
  2235. required:
  2236. - archived
  2237. - swimlaneId
  2238. - createdAt
  2239. - modifiedAt
  2240. - dateLastActivity
  2241. - userId
  2242. - sort
  2243. - type
  2244. CardsVote:
  2245. type: object
  2246. properties:
  2247. question:
  2248. type: string
  2249. positive:
  2250. description: |
  2251. list of members (user IDs)
  2252. type: array
  2253. items:
  2254. type: string
  2255. x-nullable: true
  2256. negative:
  2257. description: |
  2258. list of members (user IDs)
  2259. type: array
  2260. items:
  2261. type: string
  2262. x-nullable: true
  2263. end:
  2264. type: string
  2265. public:
  2266. type: boolean
  2267. allowNonBoardMembers:
  2268. type: boolean
  2269. required:
  2270. - question
  2271. - public
  2272. - allowNonBoardMembers
  2273. CardsCustomfields:
  2274. type: object
  2275. ChecklistItems:
  2276. type: object
  2277. description: An item in a checklist
  2278. properties:
  2279. title:
  2280. description: |
  2281. the text of the item
  2282. type: string
  2283. sort:
  2284. description: |
  2285. the sorting field of the item
  2286. type: number
  2287. isFinished:
  2288. description: |
  2289. Is the item checked?
  2290. type: boolean
  2291. checklistId:
  2292. description: |
  2293. the checklist ID the item is attached to
  2294. type: string
  2295. cardId:
  2296. description: |
  2297. the card ID the item is attached to
  2298. type: string
  2299. createdAt:
  2300. type: string
  2301. x-nullable: true
  2302. modifiedAt:
  2303. type: string
  2304. required:
  2305. - title
  2306. - sort
  2307. - isFinished
  2308. - checklistId
  2309. - cardId
  2310. - modifiedAt
  2311. Checklists:
  2312. type: object
  2313. description: A Checklist
  2314. properties:
  2315. cardId:
  2316. description: |
  2317. The ID of the card the checklist is in
  2318. type: string
  2319. title:
  2320. description: |
  2321. the title of the checklist
  2322. type: string
  2323. finishedAt:
  2324. description: |
  2325. When was the checklist finished
  2326. type: string
  2327. x-nullable: true
  2328. createdAt:
  2329. description: |
  2330. Creation date of the checklist
  2331. type: string
  2332. modifiedAt:
  2333. type: string
  2334. sort:
  2335. description: |
  2336. sorting value of the checklist
  2337. type: number
  2338. required:
  2339. - cardId
  2340. - title
  2341. - createdAt
  2342. - modifiedAt
  2343. - sort
  2344. CustomFields:
  2345. type: object
  2346. description: A custom field on a card in the board
  2347. properties:
  2348. boardIds:
  2349. description: |
  2350. the ID of the board
  2351. type: array
  2352. items:
  2353. type: string
  2354. name:
  2355. description: |
  2356. name of the custom field
  2357. type: string
  2358. type:
  2359. description: |
  2360. type of the custom field
  2361. type: string
  2362. enum:
  2363. - text
  2364. - number
  2365. - date
  2366. - dropdown
  2367. - checkbox
  2368. - currency
  2369. settings:
  2370. description: |
  2371. settings of the custom field
  2372. $ref: "#/definitions/CustomFieldsSettings"
  2373. showOnCard:
  2374. description: |
  2375. should we show on the cards this custom field
  2376. type: boolean
  2377. automaticallyOnCard:
  2378. description: |
  2379. should the custom fields automatically be added on cards?
  2380. type: boolean
  2381. alwaysOnCard:
  2382. description: |
  2383. should the custom field be automatically added to all cards?
  2384. type: boolean
  2385. showLabelOnMiniCard:
  2386. description: |
  2387. should the label of the custom field be shown on minicards?
  2388. type: boolean
  2389. createdAt:
  2390. type: string
  2391. x-nullable: true
  2392. modifiedAt:
  2393. type: string
  2394. required:
  2395. - boardIds
  2396. - name
  2397. - type
  2398. - settings
  2399. - showOnCard
  2400. - automaticallyOnCard
  2401. - alwaysOnCard
  2402. - showLabelOnMiniCard
  2403. - modifiedAt
  2404. CustomFieldsSettings:
  2405. type: object
  2406. properties:
  2407. currencyCode:
  2408. type: string
  2409. dropdownItems:
  2410. description: |
  2411. list of drop down items objects
  2412. type: array
  2413. items:
  2414. $ref: "#/definitions/CustomFieldsSettingsDropdownitems"
  2415. CustomFieldsSettingsDropdownitems:
  2416. type: object
  2417. Integrations:
  2418. type: object
  2419. description: Integration with third-party applications
  2420. properties:
  2421. enabled:
  2422. description: |
  2423. is the integration enabled?
  2424. type: boolean
  2425. title:
  2426. description: |
  2427. name of the integration
  2428. type: string
  2429. x-nullable: true
  2430. type:
  2431. description: |
  2432. type of the integratation (Default to 'outgoing-webhooks')
  2433. type: string
  2434. activities:
  2435. description: |
  2436. activities the integration gets triggered (list)
  2437. type: array
  2438. items:
  2439. type: string
  2440. url:
  2441. type: string
  2442. token:
  2443. description: |
  2444. token of the integration
  2445. type: string
  2446. x-nullable: true
  2447. boardId:
  2448. description: |
  2449. Board ID of the integration
  2450. type: string
  2451. createdAt:
  2452. description: |
  2453. Creation date of the integration
  2454. type: string
  2455. modifiedAt:
  2456. type: string
  2457. userId:
  2458. description: |
  2459. user ID who created the interation
  2460. type: string
  2461. required:
  2462. - enabled
  2463. - type
  2464. - activities
  2465. - url
  2466. - boardId
  2467. - createdAt
  2468. - modifiedAt
  2469. - userId
  2470. Lists:
  2471. type: object
  2472. description: A list (column) in the Wekan board.
  2473. properties:
  2474. title:
  2475. description: |
  2476. the title of the list
  2477. type: string
  2478. starred:
  2479. description: |
  2480. if a list is stared
  2481. then we put it on the top
  2482. type: boolean
  2483. x-nullable: true
  2484. archived:
  2485. description: |
  2486. is the list archived
  2487. type: boolean
  2488. boardId:
  2489. description: |
  2490. the board associated to this list
  2491. type: string
  2492. swimlaneId:
  2493. description: |
  2494. the swimlane associated to this list. Used for templates
  2495. type: string
  2496. createdAt:
  2497. description: |
  2498. creation date
  2499. type: string
  2500. sort:
  2501. description: |
  2502. is the list sorted
  2503. type: number
  2504. x-nullable: true
  2505. updatedAt:
  2506. description: |
  2507. last update of the list
  2508. type: string
  2509. x-nullable: true
  2510. modifiedAt:
  2511. type: string
  2512. wipLimit:
  2513. description: |
  2514. WIP object, see below
  2515. $ref: "#/definitions/ListsWiplimit"
  2516. x-nullable: true
  2517. color:
  2518. description: |
  2519. the color of the list
  2520. type: string
  2521. enum:
  2522. - white
  2523. - green
  2524. - yellow
  2525. - orange
  2526. - red
  2527. - purple
  2528. - blue
  2529. - sky
  2530. - lime
  2531. - pink
  2532. - black
  2533. - peachpuff
  2534. - crimson
  2535. - plum
  2536. - darkgreen
  2537. - slateblue
  2538. - magenta
  2539. - gold
  2540. - navy
  2541. - gray
  2542. - saddlebrown
  2543. - paleturquoise
  2544. - mistyrose
  2545. - indigo
  2546. x-nullable: true
  2547. type:
  2548. description: |
  2549. The type of list
  2550. type: string
  2551. required:
  2552. - title
  2553. - archived
  2554. - boardId
  2555. - swimlaneId
  2556. - createdAt
  2557. - modifiedAt
  2558. - type
  2559. ListsWiplimit:
  2560. type: object
  2561. properties:
  2562. value:
  2563. description: |
  2564. value of the WIP
  2565. type: number
  2566. enabled:
  2567. description: |
  2568. is the WIP enabled
  2569. type: boolean
  2570. soft:
  2571. description: |
  2572. is the WIP a soft or hard requirement
  2573. type: boolean
  2574. required:
  2575. - value
  2576. - enabled
  2577. - soft
  2578. Swimlanes:
  2579. type: object
  2580. description: A swimlane is an line in the kaban board.
  2581. properties:
  2582. title:
  2583. description: |
  2584. the title of the swimlane
  2585. type: string
  2586. archived:
  2587. description: |
  2588. is the swimlane archived?
  2589. type: boolean
  2590. boardId:
  2591. description: |
  2592. the ID of the board the swimlane is attached to
  2593. type: string
  2594. createdAt:
  2595. description: |
  2596. creation date of the swimlane
  2597. type: string
  2598. sort:
  2599. description: |
  2600. the sort value of the swimlane
  2601. type: number
  2602. x-nullable: true
  2603. color:
  2604. description: |
  2605. the color of the swimlane
  2606. type: string
  2607. enum:
  2608. - white
  2609. - green
  2610. - yellow
  2611. - orange
  2612. - red
  2613. - purple
  2614. - blue
  2615. - sky
  2616. - lime
  2617. - pink
  2618. - black
  2619. - peachpuff
  2620. - crimson
  2621. - plum
  2622. - darkgreen
  2623. - slateblue
  2624. - magenta
  2625. - gold
  2626. - navy
  2627. - gray
  2628. - saddlebrown
  2629. - paleturquoise
  2630. - mistyrose
  2631. - indigo
  2632. x-nullable: true
  2633. updatedAt:
  2634. description: |
  2635. when was the swimlane last edited
  2636. type: string
  2637. x-nullable: true
  2638. modifiedAt:
  2639. type: string
  2640. type:
  2641. description: |
  2642. The type of swimlane
  2643. type: string
  2644. required:
  2645. - title
  2646. - archived
  2647. - boardId
  2648. - createdAt
  2649. - modifiedAt
  2650. - type
  2651. Users:
  2652. type: object
  2653. description: A User in wekan
  2654. properties:
  2655. username:
  2656. description: |
  2657. the username of the user
  2658. type: string
  2659. x-nullable: true
  2660. emails:
  2661. description: |
  2662. the list of emails attached to a user
  2663. type: array
  2664. items:
  2665. $ref: "#/definitions/UsersEmails"
  2666. x-nullable: true
  2667. createdAt:
  2668. description: |
  2669. creation date of the user
  2670. type: string
  2671. modifiedAt:
  2672. type: string
  2673. profile:
  2674. description: |
  2675. profile settings
  2676. $ref: "#/definitions/UsersProfile"
  2677. x-nullable: true
  2678. services:
  2679. description: |
  2680. services field of the user
  2681. type: object
  2682. x-nullable: true
  2683. heartbeat:
  2684. description: |
  2685. last time the user has been seen
  2686. type: string
  2687. x-nullable: true
  2688. isAdmin:
  2689. description: |
  2690. is the user an admin of the board?
  2691. type: boolean
  2692. x-nullable: true
  2693. createdThroughApi:
  2694. description: |
  2695. was the user created through the API?
  2696. type: boolean
  2697. x-nullable: true
  2698. loginDisabled:
  2699. description: |
  2700. loginDisabled field of the user
  2701. type: boolean
  2702. x-nullable: true
  2703. authenticationMethod:
  2704. description: |
  2705. authentication method of the user
  2706. type: string
  2707. sessionData:
  2708. description: |
  2709. profile settings
  2710. $ref: "#/definitions/UsersSessiondata"
  2711. x-nullable: true
  2712. required:
  2713. - createdAt
  2714. - modifiedAt
  2715. - authenticationMethod
  2716. UsersEmails:
  2717. type: object
  2718. properties:
  2719. address:
  2720. description: |
  2721. The email address
  2722. type: string
  2723. verified:
  2724. description: |
  2725. Has the email been verified
  2726. type: boolean
  2727. required:
  2728. - address
  2729. - verified
  2730. UsersProfile:
  2731. type: object
  2732. properties:
  2733. avatarUrl:
  2734. description: |
  2735. URL of the avatar of the user
  2736. type: string
  2737. emailBuffer:
  2738. description: |
  2739. list of email buffers of the user
  2740. type: array
  2741. items:
  2742. type: string
  2743. x-nullable: true
  2744. fullname:
  2745. description: |
  2746. full name of the user
  2747. type: string
  2748. showDesktopDragHandles:
  2749. description: |
  2750. does the user want to hide system messages?
  2751. type: boolean
  2752. hideCheckedItems:
  2753. description: |
  2754. does the user want to hide checked checklist items?
  2755. type: boolean
  2756. hiddenSystemMessages:
  2757. description: |
  2758. does the user want to hide system messages?
  2759. type: boolean
  2760. hiddenMinicardLabelText:
  2761. description: |
  2762. does the user want to hide minicard label texts?
  2763. type: boolean
  2764. initials:
  2765. description: |
  2766. initials of the user
  2767. type: string
  2768. invitedBoards:
  2769. description: |
  2770. board IDs the user has been invited to
  2771. type: array
  2772. items:
  2773. type: string
  2774. x-nullable: true
  2775. language:
  2776. description: |
  2777. language of the user
  2778. type: string
  2779. notifications:
  2780. description: |
  2781. enabled notifications for the user
  2782. type: array
  2783. items:
  2784. $ref: "#/definitions/UsersProfileNotifications"
  2785. activity:
  2786. description: |
  2787. The id of the activity this notification references
  2788. type: string
  2789. read:
  2790. description: |
  2791. the date on which this notification was read
  2792. type: string
  2793. showCardsCountAt:
  2794. description: |
  2795. showCardCountAt field of the user
  2796. type: number
  2797. startDayOfWeek:
  2798. description: |
  2799. startDayOfWeek field of the user
  2800. type: number
  2801. starredBoards:
  2802. description: |
  2803. list of starred board IDs
  2804. type: array
  2805. items:
  2806. type: string
  2807. x-nullable: true
  2808. icode:
  2809. description: |
  2810. icode
  2811. type: string
  2812. boardView:
  2813. description: |
  2814. boardView field of the user
  2815. type: string
  2816. enum:
  2817. - board-view-swimlanes
  2818. - board-view-lists
  2819. - board-view-cal
  2820. listSortBy:
  2821. description: |
  2822. default sort list for user
  2823. type: string
  2824. enum:
  2825. - -modifiedat
  2826. - modifiedat
  2827. - -title
  2828. - title
  2829. - -sort
  2830. - sort
  2831. templatesBoardId:
  2832. description: |
  2833. Reference to the templates board
  2834. type: string
  2835. cardTemplatesSwimlaneId:
  2836. description: |
  2837. Reference to the card templates swimlane Id
  2838. type: string
  2839. listTemplatesSwimlaneId:
  2840. description: |
  2841. Reference to the list templates swimlane Id
  2842. type: string
  2843. boardTemplatesSwimlaneId:
  2844. description: |
  2845. Reference to the board templates swimlane Id
  2846. type: string
  2847. required:
  2848. - activity
  2849. - templatesBoardId
  2850. - cardTemplatesSwimlaneId
  2851. - listTemplatesSwimlaneId
  2852. - boardTemplatesSwimlaneId
  2853. UsersSessiondata:
  2854. type: object
  2855. properties:
  2856. totalHits:
  2857. description: |
  2858. Total hits from last search
  2859. type: number
  2860. lastHit:
  2861. description: |
  2862. last hit that was returned
  2863. type: number