MeetZ Developer Portal
Embed video conferencing into any app. Generate API keys, configure your embed, copy code snippets, and see a live preview.
Getting Started
Embed a MeetZ room in your application in minutes.
Add the script tag
Include the MeetZ SDK in your HTML page.
<script src="https://your-server.com/meetz.js"></script>Add a container
Create a container element where the room will render.
<div id="meetz" style="width:100%;height:600px;"></div>Initialize
Call MeetZ.init() with your configuration.
const controller = MeetZ.init({
room: 'my-meeting',
name: 'Alice',
container: '#meetz',
serverUrl: 'https://your-server.com',
chat: true,
screenShare: true,
});
// Programmatic control
controller.mute(true, false); // mute audio, keep video
controller.toggleCamera(); // toggle camera on/off
controller.toggleScreenShare(); // toggle screen sharing
controller.sendChatMessage('Hi'); // send chat message
controller.leave(); // leave the room
controller.destroy(); // cleanup resourcesController Reference
mute(audio?, video?)Mute or unmute audio and/or videotoggleCamera()Toggle camera on/offtoggleChat()Toggle the chat paneltoggleRecording()Toggle recordingtoggleScreenShare()Toggle screen sharingsendChatMessage(text)Send a chat messagegetParticipants()Request current participant listsetDisplayName(name)Change local participant's display nameleave()Leave the roomdestroy()Remove the iframe and clean up all listenersOr use a framework:
Embed Code Generator
Configure your embed and copy the code for your framework.
Configuration
Room
Features
Theme
<!-- 1. Include the SDK -->
<script src="/meetz.js"></script>
<!-- 2. Add the container -->
<div id="meetz-container" style="width:100%;height:600px;border-radius:12px;overflow:hidden;"></div>
<!-- 3. Initialize -->
<script>
const controller = MeetZ.init({
room: 'meetz-sandbox-preview',
name: 'Developer',
container: '#meetz-container',
serverUrl: '',
chat: true,
screenShare: true,
raiseHand: true,
theme: {
primaryColor: '#7c3aed',
backgroundColor: '#0f0f1a',
},
});
// Optional: programmatic control
// controller.mute(true);
// controller.leave();
</script>This is a live preview using a sandbox room. Camera and microphone access may be required.
Use Cases
See how MeetZ fits into different integration scenarios, from zero-code embeds to full backend automation.
Drop a Web Component into any HTML page. No JavaScript required. Just add the <meetz-room> tag with your room name and server URL, and you have a fully functional video call.
<!-- Drop this anywhere in your HTML -->
<script src="${baseUrl}/meetz.js"></script>
<meetz-room
room="team-daily"
user-name="Alice"
server-url="${baseUrl}"
chat="true"
screen-share="true"
style="width:100%; height:600px;"
></meetz-room>REST API Reference
Programmatically manage rooms and generate join tokens.
Authentication
All API requests require an API key passed in the Authorization header. Authorization
Authorization: Bearer meetz_sk_your64charkeyCreate API keys in the API Keys section above. Keys start with meetz_sk_.
Rate Limits
100 requests per minute per API key. Exceeding the limit returns 429 Too Many Requests.
Error Format
All errors return a JSON object with a human-readable message.
{ "error": "Human-readable error message" }Endpoints
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/v1/rooms | Create a new room | Required |
| GET | /api/v1/rooms | List all your rooms | Required |
| PATCH | /api/v1/rooms/:slug | Update an existing room's settings | Required |
| DELETE | /api/v1/rooms/:slug | Close and delete a room | Required |
| POST | /api/v1/rooms/:slug/token | Generate a join token for a participant | Required |
/api/v1/roomsCreate a new room
Request Body
{
"name": "Weekly Standup",
"password": "optional-password",
"isE2ee": false,
"lobbyEnabled": false,
"maxParticipants": null
}Example curl
curl -X POST https://your-server.com/api/v1/rooms \
-H "Authorization: Bearer meetz_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"name":"Weekly Standup","lobbyEnabled":false,"maxParticipants":null}'Response
{
"roomSlug": "weekly-standup-abc123",
"joinUrl": "https://your-server.com/weekly-standup-abc123"
}/api/v1/roomsList all your rooms
Example curl
curl https://your-server.com/api/v1/rooms \
-H "Authorization: Bearer meetz_sk_your_key_here"Response
{
"rooms": [
{
"id": "uuid",
"slug": "weekly-standup-abc123",
"name": "Weekly Standup",
"isE2ee": false,
"lobbyEnabled": false,
"maxParticipants": null,
"hasPassword": false,
"createdAt": "2026-03-11T10:00:00.000Z",
"lastUsedAt": null
}
]
}/api/v1/rooms/:slugUpdate an existing room's settings
Request Body
{
"name": "Updated Standup",
"password": null,
"lobbyEnabled": true,
"maxParticipants": 50
}Example curl
curl -X PATCH https://your-server.com/api/v1/rooms/weekly-standup-abc123 \
-H "Authorization: Bearer meetz_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"lobbyEnabled":true,"maxParticipants":50}'Response
{
"slug": "weekly-standup-abc123",
"name": "Updated Standup",
"lobbyEnabled": true,
"maxParticipants": 50,
"hasPassword": false,
"isE2ee": false,
"createdAt": "2026-03-11T10:00:00.000Z",
"updatedAt": "2026-03-12T10:00:00.000Z"
}/api/v1/rooms/:slugClose and delete a room
Example curl
curl -X DELETE https://your-server.com/api/v1/rooms/weekly-standup-abc123 \
-H "Authorization: Bearer meetz_sk_your_key_here"Response
{
"success": true
}/api/v1/rooms/:slug/tokenGenerate a join token for a participant
Request Body
{
"displayName": "Alice"
}Example curl
curl -X POST https://your-server.com/api/v1/rooms/weekly-standup-abc123/token \
-H "Authorization: Bearer meetz_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"displayName":"Alice"}'Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"joinUrl": "https://your-server.com/weekly-standup-abc123"
}