Introduction

The EduLearn API provides programmatic access to our learning management system. Build applications, integrate with your existing tools, and automate learning workflows.

Our API follows RESTful principles and returns JSON responses. All requests must be made over HTTPS.

Base URL

https://api.edulearn.com/v1

Authentication

The EduLearn API uses API keys to authenticate requests. You can view and manage your API keys in your dashboard settings.

// Example API request with authentication curl -X GET "https://api.edulearn.com/v1/courses" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"

Authentication Methods

We support two authentication methods:

  • Bearer Token: Include your API key in the Authorization header
  • API Key: Pass your key as a query parameter (less secure, not recommended)

Courses API

Retrieve course information, manage course content, and track course progress.

List All Courses

GET /courses
Parameter Type Description
page integer Page number for pagination (default: 1)
limit integer Results per page (default: 20, max: 100)
category string Filter by course category
// Response example { "data": [ { "id": "course_abc123", "title": "Full-Stack Web Development", "description": "Master modern web development...", "price": 99.00, "duration": "40 hours", "instructor": "Sarah Mitchell" } ], "meta": { "total": 200, "page": 1, "pages": 10 } }

Get Course Details

GET /courses/:id

Enrollments API

Manage student enrollments and track learning progress programmatically.

Enroll a Student

POST /enrollments
// Request body { "user_id": "user_xyz789", "course_id": "course_abc123", "payment_method": "card" }

Webhooks

Receive real-time notifications when events occur in your EduLearn account.

Supported events:

  • course.completed - Student completed a course
  • enrollment.created - New enrollment
  • certificates.issued - Certificate generated
  • payment.received - Payment processed
// Webhook payload example { "event": "course.completed", "timestamp": "2026-04-07T15:30:00Z", "data": { "user_id": "user_xyz789", "course_id": "course_abc123", "completed_at": "2026-04-07T15:30:00Z" } }

Rate Limits

The API is rate limited to ensure fair usage for all users:

  • Standard: 100 requests per minute
  • Enterprise: 1000 requests per minute
  • Write operations: 20 requests per minute

Rate limit headers are included in every response:

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1712508060

Error Codes

Code Message Description
400 Bad Request Invalid request parameters
401 Unauthorized Invalid or missing API key
403 Forbidden Insufficient permissions
404 Not Found Resource does not exist
429 Too Many Requests Rate limit exceeded
500 Server Error Something went wrong on our end