Notice: API Endpoint Update
We will soon be notifying all users about an important change to our API endpoint.
The API endpoint has been updated from www.kursguiden.no/api to api.frontcore.com.
If you are currently using the old address, please update your integration to use the new endpoint as soon as possible.
The pages below give all the information needed to get started with Frontcore API. There is
documentation with examples of courses, coursedates and other using simple REST calls.
How to integrate Frontcore with your CRM/CMS system?
Frontcore provides RESTful API over HTTP using GET or POST methods. Listed below are all the available
API methods, which allows you to create/update/delete courses and dates.
It's also possible to download all course information in order to display it on your own Intranet or
public web pages.
Making requests
For every API request you make, you'll need to present the API access key in the HTTP Header as X-API-Key
to be authenticated. The authentication API key can be found in the app under
Settings > API.
If the request contains JSON formatted data, a content-type:application-json must be present in the header of the request.
Keep the API key secret! It
should be guarded just as your regular account password.
Request Frequency
Don’t over-fetch data: Be mindful of how often you’re making requests. Avoid sending the same request multiple times unnecessarily.
Implement caching: Cache data locally to reduce redundant requests for the same resource.
Avoid unnecessary traffic: For data that rarely changes, like currencies, countries or static information, avoid frequent polling (e.g., hourly requests).
Space out concurrent requests: Don’t hit the API with a burst of requests all at once. For example, sending one GET request for every course at the same time will cause rate-limiting issues.
Rate Limits
We will enforce a rate limit of 5 requests per second per account. However, we recommend keeping this as low as possible. This limit applies across your entire account.
If you exceed this limit, we’ll start returning 429 Too Many Requests responses. Your requests may be throttled and will no longer return content until you reduce your request rate.
If the rate limit is consistently exceeded and we can’t reach you for resolution, we may need to temporarily block excessive traffic to ensure service stability.
Caching and Proxying
Cache all API responses: Web applications and servers should cache responses from the API to prevent re-fetching unchanged data. This helps you stay within rate limits and reduces load on both our servers and yours.
Client-to-API Connections
Avoid direct client-to-API calls: For security and performance reasons, browsers should not communicate with the API directly. Instead, use a backend (like a proxy server) to handle authentication, add necessary headers, and cache data.
Custom properties
Our API allows you to attach additional key-value data to the course, course date, and customer objects using
the 'custom_properties' property. This feature is especially useful for storing information that may
not be captured by the standard object fields.
If no custom_properties have been set, the 'custom_properties' property will be null. You can specify up to 25
keys, with key names up to 44 characters long and values up to 255 characters long. All values will be stored as
strings.
One example of how you could use custom properties is to store a unique identifier for a course from your system
on a FrontCore course object. This way, you can easily match and synchronize data between your system and ours.
To delete a custom property from an object, simply set the value to null. This will remove the custom property
from the object.