focalboard/server/swagger
Benjamin Masters 0cd4257ebc
[GH-3410] Healthcheck Endpoint with Server Metadata (#4151)
* add ping endpoint and tests

* remove unnecessary newlines

* fix: invalid Swagger YAML comment blocks

* refactor and add 'suite' SKU

* generate swagger docs

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
2022-11-14 14:37:06 -05:00
..
docs/html [GH-3410] Healthcheck Endpoint with Server Metadata (#4151) 2022-11-14 14:37:06 -05:00
README.md Fix #3072. Add docs on how to auth to API readme. (#3102) 2022-05-25 09:19:02 -07:00
swagger.yml [GH-3410] Healthcheck Endpoint with Server Metadata (#4151) 2022-11-14 14:37:06 -05:00

Swagger / OpenAPI 2.0 auto-generated files

⚠️ Warning: The API is currently considered Beta and major changes are planned. Please see this note for more details.

This folder is generated by the make swagger command from comments in the server code.

Prerequisites:

  1. go-swagger
  2. openapi-generator

These can be installed via Homebrew:

brew tap go-swagger/go-swagger
brew install go-swagger
brew install openapi-generator

Server API documentation

See the generated server API documentation here.

How to authenticate

To auth against Personal Server, first call login with your credentials to get a token, e.g.

curl -X POST \
 -H "Accept: application/json" \
 -H "X-Requested-With: XMLHttpRequest" \
 -H "Content-Type: application/json" \
 "http://localhost:8000/api/v2/login" \
 -d '{
  "type" : "normal",
  "username" : "testuser",
  "password" : "testpass"
}'

This should return a token in the form:

{"token":"abcdefghijklmnopqrstuvwxyz1"}

Pass this as the bearer auth to subsequent calls, e.g.

curl -X GET \
 -H "Accept: application/json" \
 -H "Authorization: Bearer abcdefghijklmnopqrstuvwxyz1" \
 -H "X-Requested-With: XMLHttpRequest" \
 -H "Content-Type: application/json" \
 "http://localhost:8000/api/v2/teams/0/boards"

Differences for Mattermost Boards

The auto-generated Swagger API documentation is for Focalboard Personal Server. If you are calling the API on Mattermost Boards, the additional changes are:

API URLs endpoint

The API endpoint is at https://SERVERNAME/plugins/focalboard/api/, e.g. https://community.mattermost.com/plugins/focalboard/api/.

Use the Mattermost auth token

Refer to the Mattermost API documentation here on how to obtain the auth token.

Pass this token as a bearer token to the Boards APIs, e.g.

curl -i -H "X-Requested-With: XMLHttpRequest" -H 'Authorization: Bearer abcdefghijklmnopqrstuvwxyz' https://community.mattermost.com/plugins/focalboard/api/v2/workspaces

Note that the X-Requested-With: XMLHttpRequest header is required to pass the CSRF check.

We want to hear from you!

If you are planning on using the Boards API, we would love to hear about what you'd like to do, and how we can improve the APIs in the future. See here for more details on how to connect.