Account, app builds, API key
Ask for a developer account from the console, register the bundle ids and signing certificates of the app builds that may join secure sessions, and issue an API key. Test keys are there for development.
Developers
The same SDKs our apps are built on: meetings and webinars in the browser, native real-time and secure playback on Android, iPhone, iPad and Mac. Your backend creates sessions in your tenant and mints single-use join grants; your app joins, plays, and — in secure mode — draws the mark. Roles are decided on the server, never on the device, and leaks trace to your app and the account.
Ask for a developer account from the console, register the bundle ids and signing certificates of the app builds that may join secure sessions, and issue an API key. Test keys are there for development.
Create and start sessions in your own tenant with the Host SDK, mint a join grant per user (it fixes session, identity and role), receive signed webhooks.
The Client SDK attests the app, joins with the grant, plays secure HLS with the per-session key, and runs the render-pass mark on every frame; real-time sessions publish and subscribe over WebRTC.
Host SDK · your backend
@supermeet/host-sdk wraps the REST API with your API key: sessions.create/get/start/end, grants.mint, apps.register, verifyWebhook. No runtime dependencies; Node 18+.
import { SupermeetHost, verifyWebhook } from '@supermeet/host-sdk';
const host = new SupermeetHost({ apiBase: 'https://api.supermeet.io',
apiKey: process.env.SUPERMEET_API_KEY!, developerId: 'dev_123' });
const s = await host.sessions.create({ product: 'webinar', title: 'Launch — spring collection' });
const start = await host.sessions.start(s.id, { host_platform: 'macos' }); // ingest + playback
const { grant } = await host.grants.mint({ session_id: s.id, identity: 'user-42', role: 'attendee' });
// hand `grant` to your app; the Client SDK joins with it
app.post('/hooks/supermeet', async (req, res) => {
const ok = await verifyWebhook(req.header('X-Supermeet-Signature'), req.rawBody, WEBHOOK_SECRET);
res.sendStatus(ok ? 204 : 400); // session.started · session.ended · participant.joined
});
Client SDKs · the device
Play Integrity attestation, a secure window before the first frame, Media3 playback with the per-session key resolved by the SDK, the GPU mark as a Media3 effect, and RealTimeSession for meetings and promoted speakers.
App Attest, a capture guard that blacks out on detection, AVPlayer with the SDK's key loader, a Metal render pass that marks every frame, and RealTimeSession with camera, microphone and app-fed surface tracks. Secure sessions on a Mac need macOS 27 on Apple silicon.
The control-plane client, the real-time data channel (chat, Q&A, polls, ink, slides) and the surfaces layout engine for meetings and webinars in the browser. Non-secure products only, by design.
A Web Component and a React wrapper that put a Supermeet meeting, webinar or Standard live class inside your page, joined with your grant and limited to the origins you register.
The SDKs are handed to registered developers with their keys; they are not on public package registries.
Register an endpoint and Supermeet posts session.started, session.ended and participant.joined as JSON. Every delivery carries X-Supermeet-Signature: t=<unix>,v1=<hex HMAC-SHA256 over "t.body"> and is retried on network errors and server-side failures. Verify with the Host SDK; reject timestamps older than five minutes.
SDK usage is metered by the minute — participant-minutes in real-time sessions, viewer-minutes on the broadcast path — against your developer account; no seat licences. Talk to us for pricing and for the integrator programme.