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:
- Create, publish, and version courses with rich multimedia support
- Manage user enrollment, progress tracking, and certification
- Integrate payments, SSO, and third-party analytics
- Build interactive assessments, quizzes, and adaptive learning paths
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.
# 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:
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:
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:
- Free Tier: 100 requests/minute
- Pro Tier: 1,000 requests/minute
- Enterprise: Custom limits with dedicated infrastructure