Skip to content
GurukulLiveDevelopers
GurukulLive developer platform · v1

Run your classes on GurukulLive, inside your own product

Schools, coaching institutes, LMS vendors and companies use GurukulLive as the classroom and meeting engine behind their own website or app. Provision your users, decide who joins what, start classes from your UI, receive real-time events and show recordings — your users never need a separate GurukulLive login.

How it fits together

  1. Provision people. Your backend creates teachers and students with POST /public/users, using your own ids as externalId — no e-mail required.
  2. Schedule classes. Create meetings or academic class sessions with POST /public/meetings, and choose who may join: enrolled students, org members, invited users or anyone with a link.
  3. Mint a join link per user. When someone clicks “Join class” in your product, your backend calls POST /public/meetings/:id/join-links and redirects them to url — or iframes embedUrl with the JS SDK.
  4. React to what happens. Webhooks tell you when classes start and end, who joined and for how long, and when recordings and attendance are ready. Embed recordings with a signed player URL.

Guides

The API at a glance

Base URLhttps://gurukullive.example.com/api/v1/public — your GurukulLive deployment
AuthenticationAuthorization: Bearer vmk_live_… — server-side only (details)
FormatJSON, camelCase, ISO-8601 UTC timestamps, IANA time zones
Success{ data, meta? }
Errors{ error: { code, message, details? }, requestId } with stable codes (list)
Pagination?limit=50&cursor=… → meta: { nextCursor, hasMore }
RetriesIdempotency-Key header on POST (kept 24 h) so a retry never creates twice
Your idsUsers, classes and meetings accept externalId, unique per organization
Limits600 requests/min per key by default (rate limits)
A typical response
{
  "data": {
    "id": "cm2x8k3…",
    "externalId": "class-10a-2026-10-14",
    "title": "Algebra · Grade 10 A",
    "type": "CLASS",
    "status": "SCHEDULED",
    "slug": "algebra-10a-k3f9q2",
    "scheduledStart": "2026-10-14T09:30:00.000Z",
    "durationMinutes": 45
  }
}

What people build

  • LMS live classes — a “Join class” button in Moodle, Canvas or your own LMS that drops students straight into the room.
  • Coaching apps — Android/iOS apps that open join links in a Custom Tab or a WebView with the classroom embedded.
  • Recording libraries — list recordings per class and embed the player on your course pages.
  • Attendance sync — webhooks and attendance reports flowing into your SIS or payroll.

Security model in one paragraph

API keys never leave your servers. Browsers and apps only ever see join links: short-lived, single-use tokens that GurukulLive exchanges for a session limited to one meeting. Access rules (enrollment, deactivation, locks, capacity, plan limits) are enforced again at that moment. Webhooks are signed with HMAC-SHA256 and the embedded room only talks to origins your organization allows.