Getting started with the API
Welcome
On this site, you will find developer documentation about Fellow Intranet and Fellow LMS. Documentation about Fellow Community (a.k.a. Viadesk) can be found on support.viadesk.com.
Currently, a subset of our extensive API is public. Over time we will expose as many API methods as desired. Please let us know if you need something in particular!
Jump to documentation of all public endpoints: API reference
REST-style
The API has predictable, resource-oriented URLs. The endpoints are at your domain's hostname, under /api/v1/*.
For example the members in your domain can be retrieved at:
GET https://{yourFellowFQDN}/api/v1/members
The API uses conventional HTTP response codes to indicate success or failure of a request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, there was no permission, etc.), and codes in the 5xx range indicate an error with our servers.
Authentication
All requests you make to the API will need to include your personal API key. Your API key can found under Setup → API.
The API key should be provided by adding an Authorization header, using the Bearer scheme. For example:
curl -H 'Authorization: Bearer {yourPersonalAPIkey}' https://{yourFellowFQDN}/api/v1/courses
Note: in earlier versions of our API, you were required to generate a JWT token for each request. While this is still supported, it is no longer required. You can now simply copy and the paste your personal API key. Please beware that the JWT signing secret cannot be used as an API key. You must use your personal API key.
JSON
Data is returned as JSON, with the following formatting conventions:
Timestamps are ISO 8601 formatted. Duration values are specified in milliseconds since January 1, 1970.
Locales are formatted as IETF language tags. For example en-US or simply just en for English.
Country codes are in two-letter ISO notation, in upper-case. For example DE for Germany and NL for The Netherlands.
Currencies are in three-letter ISO notation, in upper-case. Amounts of money are in cents. For example “€ 99” is represented as EUR 9900.
Pagination
By default we limit the results to 100, 250 or 500 objects, depending on the API endpoint.
We strongly recommend implementing paging if you have large data sets. Use the parameters offset and limit.
Rate limiting
We encourage the responsible use of our API and expect all users to comply with our fair use policy. This means avoiding excessive or abusive requests that could impact service quality for others. To ensure reliability and equitable access for everyone, we implement rate limits during periods of high traffic. If your application exceeds these limits, you may receive temporary restrictions.