Skip to content
Lucid Academy
Developers · Public API

Build on Lucid Academy.

Embed lessons. Pull progress. Build dashboards. White-label the experience. Public API + webhooks + SDKs.

What you can build

📚 Catalog API
Pull every lesson, filterable by role, modality, level, tags. Build your own course explorers.
🪟 Embed Widget
Drop a Lucid lesson card into your blog, intranet, or LMS. Tracks completion back to your origin.
📊 Progress Webhooks
Receive lesson-completed events to your endpoint. Wire into your HR / L&D / payroll systems.
🎨 White-Label SDK
Theme Lucid with your colors, fonts, logo. Custom domain. Enterprise tier only.
📤 LMS Export
SCORM 2004 + xAPI export for Workday, Cornerstone, Docebo, Moodle, Canvas integrations.
🔌 SSO + SCIM
Okta, Azure AD, Google Workspace. Auto-provision users from your IdP.

Quick start

GET /learn/api/catalog.php
List the full lesson catalog with rich metadata. Public — no auth required for read-only browse.
curl https://lucidai.pro/learn/api/catalog.php?role=developer&level=advanced

// Response
{
  "ok": true,
  "items": [
    {
      "id": "L106",
      "title": "Tool use — letting Claude call your code",
      "step": 3,
      "tier": 3,
      "level": "advanced",
      "is_pro": true,
      "est_minutes": 7,
      "modalities": ["watch", "listen", "read", "practice"],
      "role_score": 10
    },
    ...
  ]
}
GET /learn/api/lesson.php?id=L106
Full lesson detail. Includes hook, transcript, sandbox steps, retrieval gate, mission, template.
curl https://lucidai.pro/learn/api/lesson.php?id=L106
// Returns the full lesson JSON. Server-side fields (system_prompts) are stripped.
// Pro-gated lessons return a paywalled preview for free users.
POST /learn/api/v1/embed/lesson
Generate an embeddable iframe for any lesson. Use in your LMS / blog / intranet. (Coming Q3 — request access.)
POST /learn/api/v1/embed/lesson
Authorization: Bearer YOUR_API_KEY

{
  "lesson_id": "L010",
  "origin": "https://acme.com",
  "user_email": "[email protected]",
  "completion_webhook": "https://acme.com/hooks/lucid"
}

// Response
{
  "iframe_url": "https://lucidai.pro/learn/embed/L010?token=...",
  "expires_at": "2026-12-31T00:00:00Z"
}
POST /learn/api/v1/admin/seats
Provision seats for your org. Teams + Enterprise only. Auto-syncs with SCIM.
POST /learn/api/v1/admin/seats
Authorization: Bearer YOUR_ORG_API_KEY

{
  "users": [
    {"email": "[email protected]", "role": "marketer", "track": "marketer"},
    {"email": "[email protected]",   "role": "developer", "track": "developer"}
  ]
}

Webhooks

POST your-endpoint.com/lucid-webhook
Lucid POSTs to your endpoint on user events. Configure URLs in your Teams admin panel.
// Events you can subscribe to:
lesson.completed         · User finished a lesson
lesson.started           · User began a lesson
streak.milestone         · User hit a streak day (3, 7, 14, 30...)
badge.earned             · User unlocked a badge
certificate.issued       · User earned a Step certificate
project_week.completed   · User shipped a Project Week
team.seat.assigned       · Admin assigned a new seat
team.completion.weekly   · Weekly progress digest

// Example payload
{
  "event": "lesson.completed",
  "occurred_at": "2026-05-22T14:23:00Z",
  "data": {
    "user_id": 12345,
    "user_email": "[email protected]",
    "lesson_id": "L010",
    "lesson_title": "Hand Claude a PDF and make it useful",
    "xp_earned": 50,
    "streak_current": 7,
    "modality_used": "watch"
  },
  "signature": "sha256=...",  // HMAC for verification
  "team_id": "team_abc123"
}

SDKs (coming Q3 2026)

JavaScript / TypeScript
npm install @lucid-academy/sdk
Python
pip install lucid-academy
REST + OpenAPI
Full OpenAPI 3.1 spec provided to API-key holders on approval.

Get an API key

Public API access is in private beta. Email us to request keys + an enterprise-grade SLA.

Request API access →

Rate limits

// Free public endpoints (catalog, lesson)
60 requests / min
no auth required

// Authenticated read (progress, profile)
600 requests / min per key

// Authenticated write (seats, webhooks, admin)
60 requests / min per key

// Enterprise: custom limits in contract

SLA + support

Free: Community support via email. 99.5% uptime target.

Teams ($9/seat/mo): Email support, 24h response, 99.9% SLA.

Enterprise (custom): Slack channel, 1h response, 99.95% SLA + status page integration.

Status: status page