List courses

Download course ID, title, duration, price and other attributes using GET.

Request

GET https://api.frontcore.com/v2/courses

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.

Parameters

Name Required Value Description
limit optional number Amount of results (default: 75) (maximum: 250)
page optional number Page to show (default: 1)
since_id optional number Restrict results to after the specified ID.
customer_id optional number Filter on customer id for corporate training courses.
created_at_min optional string Show items created after date (format: yyyy-mm-dd OR yyyy-mm-dd hh:mm:ss)
created_at_max optional string Show items created before date (format: yyyy-mm-dd OR yyyy-mm-dd hh:mm:ss)
updated_at_min optional string Show items last updated after date (format: yyyy-mm-dd OR yyyy-mm-dd hh:mm:ss)
updated_at_max optional string Show items last updated before date (format: yyyy-mm-dd OR yyyy-mm-dd hh:mm:ss)
description_language optional string Returns translated descriptions in the specified language. A list of available languages can be found in the description_languages property on the course object.
include_partners optional boolean Include courses from partner providers. When set to true, returns courses from both the main provider and approved partner providers. Partner courses must be active, publicly visible, and not internal. A provider object is automatically included in each result item.
partner_id optional number Filter results to only include courses from a specific partner provider. Implicitly enables partner filtering. The authenticated provider must have an approved partner connection with the specified provider.
tag_ids optional array Only courses carrying these tags (course dates: whose course carries them). Tag ids as listed by GET /v2/course-tags, either as an array (tag_ids[]=12&tag_ids[]=34) or comma-separated (tag_ids=12,34). By default a course matches when it has any of the tags; see tag_match. Only your own tags can be used; any other id returns 400.
tag_match optional string any (default): the course has at least one of the tag_ids. all: the course has every one of them.
paginate optional boolean When true, the response is wrapped in a pagination envelope, {"pagination": {...}, "items": [...]}, the same as GET /v2/coursedates returns. pagination holds total_items, per_page, current_page, total_pages, previous_page and next_page. Left out, the response is a plain array as before.
include[] optional string Request additional information by specifying the 'include' parameter as a path using dot notation.
You can include multiple objects at once by specifying multiple items in the include array.

Supported items for this endpoint:
`products`
`provider`

Example code in PHP

$request_url = 'https://api.frontcore.com/v2/courses';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'X-API-Key: {your-api-key}',
  'Accept: application/json',
));
$result = curl_exec($ch);
curl_close($ch);
               

Response

If the method is successful it responds with an JSON structure, as it is shown below.

[
    {
        "id": 22353,
        "title": "Learn REST API",
        "reference": "RESTAPI-CA-1001",
        "is_active": true,
        "kursguiden_url": "https:\/\/www.kursguiden.no\/kurs\/\u00d8kologisk-matkurs\/Learn-REST-API\/",
        "is_full_time": false,
        "is_part_time": true,
        "lessons_hours": null,
        "type": "public",
        "level": {
            "id": 6,
            "title": "Kurs"
        },
        "form_of_teaching": {
            "id": 1,
            "title": "Klasserom"
        },
        "teaching_language": {
            "id": "no",
            "title": "Norsk"
        },
        "time_of_day": {
            "id": 2,
            "title": "Kveldskurs"
        },
        "publishing_platform": "both",
        "duration": {
            "value": 6,
            "code": "hours",
            "unit": "Time(r)"
        },
        "price": {
            "value": 1500,
            "currency": "NOK",
            "comment": "Includes a free beer."
        },
        "categories": [
            {
                "id": 1075,
                "title": "\u00d8kologisk matkurs",
                "idParent": 1456,
                "titleParent": "Matkurs"
            },
            {
                "id": 1473,
                "title": "Norsk mat",
                "idParent": 1456,
                "titleParent": "Matkurs"
            }
        ],
        "external_booking_url": null,
        "external_more_info_url": null,
        "descriptions": {
            "lead": "REST API is very useful.",
            "description": "<p>REST API is a easy way of sharing information between sites.<\/p>",
            "place": "<p>At IT Fornebu.<\/p>",
            "prerequisites": "<p>Normal programming skills.<\/p>",
            "duration": "<p>2 sessions. Each session is 3 hours.<\/p>",
            "credits": "<p>No credts.<\/p>",
            "submissions": "<p>Two tasks to be submitted online.<\/p>",
            "hotelInfo": "<p>Scandic Fornebu.<\/p>",
            "audience": "<p>Programmers and web developers.<\/p>"
        },
        "lead_settings": {
            "email_booking": "booking@exampleschool.no",
            "email_more_info": "more.info@exampleschool.no"
        },
        "tags": [],
        "custom_properties": null,
        "description_languages": [
            "no"
        ],
        "visit_address": null,
        "visit_address2": null,
        "visit_zipcode": null,
        "visit_city": null,
        "created_at": "2015-01-21T21:30:31+01:00",
        "updated_at": "2026-10-12T14:27:20+02:00",
        "deleted_at": "2026-10-11T20:20:44+02:00",
        "related_items_updated_at": "2026-10-12T16:19:23+02:00"
    }
]

Unsuccessful response sample:

{
    "error": "Wrong API Key"
}      
© 2026 FrontCore