Introduction

Blackevin is realtime messaging as a service — WebSocket channels, presence and history, with the events delivered on to your own systems.

What Blackevin is

Blackevin is realtime messaging as a service. Your clients open one WebSocket and get channels, presence and message history; your backend gets the same events delivered to it over webhooks, AMQP, Lambda or SNS.

The client SDK is Ably-shaped on purpose — channels.get, subscribe, publish, presence.enter — so the mental model transfers and so does most of the code.

import * as Blackevin from '@blackevin/client';

const realtime = new Blackevin.Realtime({ key: process.env.BLACKEVIN_KEY, clientId: 'bob' });
const channel = realtime.channels.get('chat:lobby');

channel.subscribe(message => console.log(message.name, message.data));

await channel.publish('hello', { text: 'hi' });

The two halves

Blackevin is one product with two faces, and it helps to know which one you are talking to.

what it iswhere
the nodethe WebSocket gateway and the REST control planewss://ws.blackevin.com, https://api.blackevin.com
the consoleaccounts, API keys, integrations, usageapp.blackevin.com

Everything in these docs is the node, except where it says otherwise. The console is where you create the key that the node then checks.

What you get

  • Channels. Publish and subscribe by name. Wildcard matching (*, >) on the server, an optional client-side name filter on top.
  • Presence. Who is on a channel right now, with enter / leave / update events fanned out to everyone attached.
  • History. Recent messages and recent presence events, over REST, or replayed into a subscription with rewind.
  • Delivery outward. The same events pushed to your webhooks, your RabbitMQ, your Lambda or your SNS topic.

Start here

  1. Install the SDK
  2. Publish and subscribe
  3. Authenticate a browser without shipping it your key

Or go straight to the reference

Connectnew Blackevin.Realtime(...), endpoints, options
Channelssubscribe, publish, rewind
Presenceenter, leave, update, get
API keysthe secret.keyId format and where it comes from
TokensTokenRequest, the Blackevin JWT, minting from your backend
Capabilitieschannel pattern → allowed operations
REST overviewauthenticating an HTTP call, and what each endpoint checks
Opcodesthe wire protocol, if you are writing your own client

On this page