Introduction to LearnFlow

LearnFlow is a modern, scalable Learning Management System (LMS) API designed for developers, educators, and enterprise teams. Build custom learning experiences, manage courses at scale, and integrate seamlessly with your existing stack.

Overview

LearnFlow provides a comprehensive set of RESTful APIs and SDKs to help you:

Note: LearnFlow v2.4 introduces GraphQL support and improved webhook reliability. If you're migrating from v1.x, please review the Migration Guide.

Quick Start

Get up and running in under 5 minutes. Install the official SDK and initialize your first client.

bash
# Install via npm
npm install @learnflow/sdk

# Or via yarn
yarn add @learnflow/sdk

Initialize the Client

Configure your API key from the Developer Dashboard and instantiate the client:

javascript
import { LearnFlow } from '@learnflow/sdk';

const lf = new LearnFlow({
  apiKey: process.env.LEARNFLOW_API_KEY,
  environment: 'production',
  timeout: 10000
});

// Fetch all active courses
const courses = await lf.courses.list({
  status: 'published',
  limit: 20
});

console.log(`Found ${courses.data.length} courses`);

Configuration Options

The SDK accepts a configuration object during initialization. All options are optional and fallback to sensible defaults.

Option Type Default Description
apiKey string undefined Your secret API key from the dashboard
environment string 'sandbox' Target environment (sandbox or production)
timeout number 5000 Request timeout in milliseconds
retries number 3 Automatic retry count for failed requests

Pro Tip: Use environment: 'sandbox' during development to avoid charging real users or publishing courses prematurely.

Authentication

LearnFlow uses API keys for server-to-server authentication and OAuth 2.0 for user-facing applications. All API requests must include the Authorization header:

http
Authorization: Bearer <YOUR_API_KEY>

Security Warning: Never expose your secret API key in client-side code. Use environment variables and server-side proxying for public applications.

Rate Limits

API requests are rate-limited to ensure platform stability. Limits vary by tier: