Skip to main content

Overview

This document provides links and information about the Learnille platform’s API specifications.

API Documentation

Swagger/OpenAPI Specifications

The Learnille API is documented using OpenAPI 3.0 specification and is available through interactive Swagger UI documentation.

Production API Documentation

Development API Documentation

API Architecture

RESTful Design Principles

  • Resource-Based: APIs are organized around resources (users, courses, etc.)
  • HTTP Methods: Standard HTTP methods (GET, POST, PUT, DELETE)
  • Stateless: Each request contains all necessary information
  • HATEOAS: Hypermedia as the Engine of Application State

Authentication

All API endpoints require authentication using JWT (JSON Web Tokens).

Token Acquisition

Response:

API Versioning

  • Current Version: v1
  • Version Header: Accept: application/vnd.learnille.v1+json
  • URL Versioning: /api/v1/
  • Deprecation Policy: 12 months notice for breaking changes

Core API Endpoints

User Management API

Get User Profile

Update User Profile

List Users

Course Management API

List Courses

Get Course Details

Create Course

Update Course

Delete Course

Enrollment API

Enroll in Course

Get Enrollment Progress

Update Lesson Progress

Payment API

Create Payment Intent

Process Payment

Get Payment History

Consultation API

List Available Consultations

Book Consultation

Get Consultation Details

Search API

Search Courses

Search Users

Response Format

Success Response

Error Response

Rate Limiting

  • Authenticated Requests: 1000 requests per hour
  • Unauthenticated Requests: 100 requests per hour
  • Search Requests: 50 requests per hour
Rate limit headers:

Pagination

Response:

Filtering and Sorting

Filtering

Sorting

Webhooks

Payment Webhooks

SDKs and Libraries

JavaScript SDK

Python SDK

API Testing

Using cURL

Using Postman

  • Import OpenAPI specification
  • Set up environment variables for tokens
  • Use collection runner for automated testing

Error Codes

Support

For API support and questions: