wekan.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. swagger: '2.0'
  2. info:
  3. title: Wekan REST API
  4. version: v5.04
  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. definitions: