What is Relay?
Relay is the next generation of interactive communication APIs available at SignalWire. It is a new, real-time web service protocol that provides for persistent, asynchronous connections to the SignalWire network.
Most providers use REST APIs that rely on one-way communication. This adds latency and limits interactivity of real-time events. SignalWire's Relay APIs use WebSocket technology, which allow for simultaneous, bi-directional data transmission. Using Relay, you can deploy reliable, low latency, real-time communications.
Relay allows for interactive and advanced command and control. Complete control will enable easy transfers and injections across all endpoints, making it easier and quicker to build applications. Relay integrates easily with your products and infrastructure, enabling simple but powerful applications using Artificial Intelligence (AI) tools, data exchange, serverless technologies and more.
Finally, Relay enables communications tools to perform in the most popular and widely used environments, like web browsers, mobile devices, in the cloud, or within your own infrastructure.
To get started with Relay, you will need your Project ID and an Project Token. You can find these on your SignalWire Dashboard under API.
If you haven't signed up for a SignalWire Space, what are you waiting for! Sign Up for SignalWire
Connect to Relay using one of the supported Relay Clients available:
All communication with Relay is transmitted securely between the client - your application, server, or the browser - and SignalWire is performed using the WebSocket Secure protocol. WebSocket Secure is a persistent connection implementation of TLS, the same encryption standard used for regular HTTPS communication.
For browser-based applications, this means only browsers that support WebSockets over SSL/TLS are supported. For server-based applications, installing our client libraries may additionally install libraries required to work with secure websockets.
Access Keys & Tokens
SignalWire Relay authenticates all client connections using one of your Project's IDs and Tokens. If you do not include a valid Project ID and Token when attempting to connect, Relay will respond with an error.
Every Project has one ID but can have multiple Tokens. You can generate new tokens at any time from your SignalWire Dashboard.
Your Project ID is not considered confidential and are meant to identify which Project you are attempting to authenticate into
Your Project Token should be considered secret and confidential, and only stored on your own servers in a secure way.
Obtaining Your Keys
Your Relay Access Keys and Tokens are always available within your SignalWire Dashboard, under the API menu item.
If you are unable to see your API keys in the Dashboard, this means you do not have access to them. Contact your Space's administrator.
Keeping Your Keys Safe
Your Relay Access Keys and Tokens can be used to make API calls on behalf of your project. You should only grant access to these Tokens to those people and systems that require them. Ensure they are kept out of any code version control system you may be using.
If one of your secret Keys or Tokens has been compromised, you can delete that key and generate a new one from the SignalWire Dashboard.
Once deleted, an Access Key or Token will be immediately revoked and any active or new attempts to log in with that key will fail.
We're always happy to help with code or other questions you might have! Chat live with our support team and other developers in our Community Slack Channel.