Skip to content
Developers

FreshLearn API Reference

A simple REST API to connect FreshLearn to any system — manage members, enrollments, course structure, and more. All requests return JSON and require an API key.

Everything you need before your first call: base URL, authentication and how pagination works.

Guide

Introduction

The FreshLearn REST API returns JSON for every request. The base URL is https://api.freshlearn.com/v1. Read endpoints live under /v1/api and are cursor-paginated and filterable; they let you sync members, enrollments, completions, payments and assessment results into any external system.

Guide

Authentication

Every request must include your API key in the api-key header. Find it in the Admin app under Settings → User → your user → API Key. Each key is scoped to your account, so all responses are limited to your data.

Headers
ParameterDescription
api-keyrequiredRequest header with your unique API key from Settings → User → API Key.
Guide

Pagination & Filtering

List endpoints are cursor-paginated. Each response has a data array and a pageInfo object. To get the next page, pass pageInfo.nextCursor back as the cursor query param; stop when hasMore is false. Use limit (1–200, default 50) and order (desc/asc). Date filters (createdSince, from, to, …) are Unix timestamps in seconds. Every list endpoint has a matching /count endpoint that returns the total for the same filters.

Query Parameters
ParameterDescription
cursorOpaque cursor from a previous response's pageInfo.nextCursor. Omit for the first page.
limitPage size, 1–200 (default 50).
orderSort direction: desc (newest first, default) or asc.
Example response
json
{
  "data": [ { /* resource */ } ],
  "pageInfo": {
    "limit": 50,
    "hasMore": true,
    "nextCursor": "eyJ0IjoxNzAwMDAwMDAwLCJpZCI6OTl9",
    "sort": "created_desc"
  }
}