Get started
InlineMeet documentation
Put video calls inside your own product. Your server creates rooms and join tokens with an API key; your frontend renders a ready-made call screen that looks like the rest of your app.
Start here
QuickstartYour first embedded call in about ten minutes.API keysCreate, store, rotate and revoke the key your server uses.Embed the call UIThe React component, the routes behind it, and every option.REST API referenceEvery endpoint, with the request and the response.
How it fits together
Three parties take part in every call, and only one of them ever holds your API key.
Your serverDecides who may join, and as what. Holds the API key.
API key · HTTPSrooms, tokens
InlineMeet APIRooms, join tokens, moderation, recordings, usage.
Your frontendGets a join token from your server and renders
<CallRoom />.audio · video · chatWebRTC, encrypted
Media serversCarry the call, and enforce each person’s permissions.
Media flows between browsers and our media servers — never through your servers or our API.
- Your server decides who may join a call and what they may do there. It calls the InlineMeet API with your key to create the room and mint a join token for that one person.
- Your frontend gets the token from your server and renders the call UI, which connects with it.
- The media servers check the token and enforce exactly what it allows. A tampered browser can’t publish a camera it wasn’t granted, or unmute while the room is locked.
Your API key can mint a token for anyone, with any permission. Keep it on your server — never in a browser bundle, a mobile app, or a repository.
Key concepts
| Term | What it means |
|---|---|
| Workspace | Your account. Everything below belongs to one workspace and is invisible to every other. |
| API key | imk_…, sent as Authorization: Bearer from your server. Included with paid plans. |
| Room | A call, named by a code you choose — a lesson id, an appointment id. Up to 64 letters, digits, - or _. |
| Join token | A short-lived credential that lets one person join one room, carrying exactly the rights you gave them. |
| Identity | Who a connection is, in your own terms. Unique per browser tab: reusing one disconnects the older tab. |
| Role | moderator (teachers, hosts, admins) or participant. Moderators can always speak and get the moderation controls. |
| Recording | A capture of a whole call, made on our media servers, stored privately and listed back through the API with your own labels. |
| Webhook | A signed POST to your server when something happens — a recording is ready to download, say. |
| Participant-minute | One person connected for one minute: how embedded usage is measured, and what each host licence’s included minutes count. |
What you need
- An InlineMeet account on the Pro, Business or Enterprise plan — API keys, and so embedding, come with paid plans. Compare plans.
- A server that can make HTTPS requests. Any language works; the examples use Node.js and Python.
- For the ready-made call screen, a React 18 or 19 frontend. Not using React? The tokens work without it.
Try the call screen
This is the component you’ll embed, running as a demo — every button works. Open People to see what moderators get, or share your screen.
The call UI, as a demoInteractive
Design review
4 people here · you are the host