Circuit Developer Community

Entries with tag apis .

Circuit APIs Overview

REST And Javascript/WebSockets

REST or WebSockets? This is almost a religious discussion among developers. We simply support both - as one or the other makes more sense depending on the use case. 

  • The Circuit REST API works great for many integration scenarios across different languages and frameworks. 
    REST is the fastest way to get started for many use cases. Imagine you are scanning an ERP system for important business alerts and you would like to post these alerts to a Circuit Conversation. This can be quickly done with the REST API. There is a restricted set of REST APIs available initially. 
  • The Circuit Client Javascript API/Library uses WebSockets to connect to Circuit. To rapidly enhance a Web-App with multi-party voice, video, and real-time chat sessions we provide an easy to use JavaScript library. Developers can enhance or create a Web-App as illustrated on CodePen with just a few API calls. The library encapsulates real-time signaling and connectivity via WebSocket. The connected nature of the WebSocket allows the library to efficiently receive asynchronous events even when located behind a FW/NAT device.
  • The Circuit NodeJS Library/Module also uses WebSockets connectivity and provides quick integration opportunities with the rapidly growing node.js community. We are also packaging the Circuit JS library as node.js module. The Circuit node.js module provides quick integration opportunities with the vast number of available node modules. Code samples for the Circuit node.js module are on GitHub. See the also Circuit's Node Injection concept.

All bookmarks for your overview:

  1. Dev Community:
  2. Sandbox:
  3. NEW API Overview Page on Github:
  4. REST API & Doc: 

Legacy Links, see now

  1. Client JS SDK Doc:
  2. Client JS SDK Samples:
  3. NodeJS SDK Doc:
  4. NodeJS SDK Samples:



Circuit SDK examples on Codepen and Github

A good number of code examples have been added to Codepen and Github during the last couple of months:

- Group call (audio & video)

- Messaging

- Direct call (audio & video)

- Circuit chat (Polymer example)

- Screenshare, etc.

 Use these to get started with Circuit! Your feedback is very welcome. 

JS SDK now supports Group Calls

The new JS SDK now supports group audio/video calls (aka conferences).

Live example is on codepen

API documentation is updated.


New Node SDK

The improvements made to the Circuit JS SDK have been incorporated in the Circuit node SDK.

Architecture Changes

Public interfaces are implemented with Promises. Promises significantly improve control flow and provide robust error handling. The examples published on github show how promises can be used for both sequential and parallel execution flows.

The SDK’s external dependencies have been reduced to the bare minimum. The SDK’s footprint is smaller and the SDK’s performance is improved.

Internal caching has been removed from the SDK, providing more flexibility to applications for the selection of a caching strategy and implementation. Applications also have improved interfaces for access to conversation and user data.

New Functionality

The SDK provides support for Presence, Likes, and Flags.


The documentation for the improved SDK is available on the sandbox


Updated examples are available on github


The node SDK can be downloaded from the sandbox


The new SDK offers a simpler application interface based on Promises. Please note that the new promise based interface is not backwards compatible with the previous interface based on callbacks. Moving to the new SDK requires an application change. The promise based interface offers far better flow control and error handling to applications.

New light-weight JS SDK

Hi all, we have made some major improvements to our JS SDK. See the post by @rurscheler here on