Skip to main content
Version: 0.27.0

What is the Sandbox API?

The Sandbox API is a development tool that simplifies getting started with Fishjam by providing a simple backend for testing, eliminating the need to build your own server initially.

What can the Sandbox API do?

The Sandbox API is an HTTP server provided by us for development and testing. It provides basic room creation and peer management functionality without requiring you to set up your own backend infrastructure.

Key Characteristics

  • Development-purposed: Designed for initial development and testing
  • No authentication: Simplified access for quick prototyping
  • Testing-only: Not intended for production use; use your own authenticated backend for production

Sandbox API URL and Fishjam ID

You can find your sandbox credentials in the Sandbox tab of the Fishjam Dashboard.

The Sandbox API is a hosted HTTP backend you can use to test Fishjam without writing your own server. It creates rooms and peers for conferencing, and supports livestreaming by issuing the streamer and viewer credentials. It's an example implementation of what you need to build using our JavaScript server SDK to go to production.

You can use your sandbox credentials by passing them to the useSandbox hook in the client SDK, which will create rooms and peer tokens for you, or by calling the Sandbox API URL directly from your client and using the returned peerToken to connect to Fishjam.

The Fishjam ID from the Dashboard tab is passed to FishjamProvider so the client can connect to the Fishjam media server after it gets a peer token.

If your Sandbox API URL is exposed or your credentials are compromised, generate a new URL from the Sandbox tab to invalidate the old one. You can also disable the Sandbox API and enable it again when you want to resume sandbox testing. If you expose your Sandbox API URL in a public deployment, it can leak (for example through client code or network requests). Anyone who obtains that URL can create rooms and peers on your behalf.

The Problem Sandbox API Solves

When starting with videoconferencing or livestreaming development, you typically need:

  1. A Backend server to create rooms
  2. An Authentication system to manage users
  3. Token management for secure peer access
  4. API endpoints for your frontend to call

This creates a problem: to test your frontend, you need a backend, but during prototyping you want to focus on frontend development first. The Sandbox API mitigates this issue and allows you to start frontend development ASAP.

Relationship to Server SDKs

The Sandbox API is essentially a simplified application built using the Fishjam Server SDKs:

// What Sandbox API does internally (simplified) const fishjamClient = new FishjamClient({ fishjamId, managementToken }); app.get("/", async (req: express.Request, res: express.Response) => { const { roomName, peerName, roomType } = req.query; // Create or get room const room = await fishjamClient.createRoom({ roomType: roomType as RoomType, }); // Create or get peer const { peer, peerToken } = await fishjamClient.createPeer(room.id); res.json({ peerToken }); });

This shows you exactly what your production backend needs to do, just with proper authentication and error handling.

See also

To understand how to use The Sandbox API for development:

To learn about building your own backend:

To understand the security model: