API Quick Start
Full docs →Use your API key in the x-api-key header to create and manage meetings programmatically:
curl -X POST https://onepizza.io/api/meetings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"title": "My Meeting"}'
Bot & Agent Integration
Full guide →Connect an AI bot or agent to any meeting in 3 steps:
import { io } from "socket.io-client";
// Step 1: Create a meeting via REST API
const res = await fetch("https://onepizza.io/api/meetings", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
},
body: JSON.stringify({ title: "Bot Meeting" })
});
const { meetingId, adminToken } = await res.json();
// Step 2: Connect and join via Socket.IO
const socket = io("https://onepizza.io");
socket.emit("join-meeting", {
meetingId,
name: "My AI Bot",
isAdmin: true,
adminToken
});
socket.on("joined", ({ participantId, participants }) => {
console.log("Joined as", participantId);
});
// Step 3: Interact — chat, react, listen
socket.on("chat:message", ({ name, text }) => {
console.log(`${name}: ${text}`);
});
socket.emit("chat:message", { text: "Hello from the bot!" });
Your bot can send chat messages, react with emojis, raise hand, and listen to all meeting events. See the full API docs for all Socket.IO events and REST endpoints.
Create a Meeting
Creates a new meeting room instantly. You'll be the host with admin controls.
Join a Meeting
Got a meeting link? Paste just the ID portion (the last part of the URL).
Your API Keys
Max 5 active keys| Key | Label | Status | Last Used | Created | |
|---|---|---|---|---|---|
| No API keys yet | |||||
Using your API key
Pass your API key in the x-api-key header on every request:
# Create a meeting
curl -X POST https://onepizza.io/api/meetings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"title": "Team Standup"}'
# List your meetings
curl https://onepizza.io/api/meetings \
-H "x-api-key: YOUR_API_KEY"
Transaction History
| Type | Amount | Description | Date |
|---|---|---|---|
| No transactions yet | |||
Meeting History
| Title | Meeting ID | Started | Duration | Participants | Cost |
|---|---|---|---|---|---|
| No meetings yet | |||||
Webhooks
| URL | Events | Status | Created | |
|---|---|---|---|---|
| No webhooks yet | ||||
Add Webhook
Each delivery includes an X-Signature: sha256=HMAC header for verification.
Account Information
Change Password
Support Access Key
If you need help from support, generate a one-time key and share it. The key expires in 24 hours, can only be used once, and only reveals your account activity to the admin for diagnosis. Without this key, no one — including admins — can view your private data.