arzbridge calls โ Developer Integration Guide
Add real-time video, voice, and data to your app in minutes. arzbridge calls is a managed WebRTC platform: your backend asks our API for a join token, and your app (web, mobile, Flutter, etc.) connects directly to our media servers with that token.
You only integrate two things: (1) a couple of REST calls from your backend, and (2) a LiveKit client SDK in your app. That's it.
The integration model (read this first)
โโโโโโโโโโโโโโโ 1. request token (API key+secret)
โ YOUR BACKEND โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ arzbridge API
โ Node/Laravel โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ { token, ws_url }
โโโโโโโโฌโโโโโโโ 2. token returned
โ 3. your app asks your backend for a token
โผ
โโโโโโโโโโโโโโโ 4. connect with token
โ YOUR APP โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ arzbridge media
โ Flutter/Web โ โโโโโโโโโโโโ live audio/video/data โโโโโโบ (LiveKit)
โโโโโโโโโโโโโโโ
Golden rule: your API key + secret live only on your backend. Your app (Flutter, web, mobile) never sees them โ it only receives short-lived tokens from your backend.
What you'll need
| Thing | Where it comes from |
|---|---|
| API key + secret | Provided to you by arzbridge (one pair per project) |
| API base URL | https://calls.arzbridge.com/api/v1 |
| WebSocket URL (for clients) | wss://calls.arzbridge.com (also returned in token responses) |
Contents
| # | Guide | For |
|---|---|---|
| 01 | Getting started | Concepts, auth, the token flow, roles |
| 02 | API reference | Every endpoint, with examples |
| 03 | Node.js backend | Mint tokens & manage rooms from Node |
| 04 | Laravel backend | Mint tokens & manage rooms from Laravel |
| 05 | Receiving webhooks | Get signed event notifications on your backend |
| 06 | Web โ JavaScript / React | Join calls from a website / web app |
| 07 | Flutter app | Join calls from a Flutter mobile app |
| 08 | Security & best practices | Do it right in production |
60-second quickstart
# 1) Your backend gets a token (server-to-server)
curl -s https://calls.arzbridge.com/api/v1/tokens \
-H "Authorization: Bearer YOUR_API_KEY:YOUR_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"room":"my-first-room","identity":"user-123","name":"Alice"}'
# -> { "data": { "token": "...", "ws_url": "wss://calls.arzbridge.com", ... } }
// 2) Your Flutter app joins with that token
final room = Room();
await room.connect('wss://calls.arzbridge.com', token);
await room.localParticipant?.setMicrophoneEnabled(true);
await room.localParticipant?.setCameraEnabled(true);
That's a working call. The rest of this guide makes it production-grade.