API overview
QELM exposes a JSON API for connecting other tools to your workspace and for the QELM mobile app. This page is an overview of how the API works: where it lives, how it is versioned, how you authenticate, and what the requests and responses look like.
Base URL
Section titled “Base URL”All API requests go to:
https://api.qelm.appThe API is a workspace-scoped JSON service: requests act within a single company’s workspace, and responses contain only that workspace’s data.
Versioning
Section titled “Versioning”The API is versioned in the path. The current version is v1:
https://api.qelm.app/api/v1/...Pinning to a version means a future revision will not silently change the shape of the responses your integration depends on. New, incompatible behavior ships under a new version path rather than breaking the existing one.
Authentication
Section titled “Authentication”How you authenticate depends on what is calling the API:
-
Web sessions — when you are signed in to your workspace in the browser, requests are authenticated with your session.
-
Mobile and integrations — the mobile app and other programmatic clients authenticate with a bearer token sent in the
Authorizationheader:Authorization: Bearer <token>
Either way, every authenticated request is tied to a single workspace, and the API only ever returns data belonging to that workspace.
Request and response format
Section titled “Request and response format”Requests and responses are JSON. Send Content-Type: application/json on requests
that include a body. Successful responses return the relevant resource as JSON;
errors return a JSON body describing what went wrong, alongside the appropriate
HTTP status code.
Integrating with QELM
Section titled “Integrating with QELM”Build against the versioned /api/v1 paths and authenticate with a bearer token, and
your integration will stay in step with the API as it evolves. If you need the exact
shape of a particular endpoint, get in touch through
Support and we will point you at it.