Enbbox Docs

API Client

Enbbox Server SDK (@enbbox/api) — server-side notification management for Node.js, Deno, and Bun. Trigger workflows, manage subscribers, and configure integrations programmatically.

The @enbbox/api package is a TypeScript/Axios client for the Enbbox REST API. Use it on your server to trigger workflows, manage subscribers, and configure integrations.

Installation

npm install @enbbox/api

Initialization

import { Configuration, EventsApi } from "@enbbox/api";

const config = new Configuration({
  apiKey: process.env.ENBBOX_API_KEY,
});

const eventsApi = new EventsApi(config);

Trigger Workflows

await eventsApi.triggerEvent({
  name: "welcome-email",
  to: { subscriberId: "user-123" },
  payload: {
    name: "John",
    message: "Welcome aboard! 🎉",
  },
});

Manage Subscribers

import { SubscribersApi } from "@enbbox/api";

const subscribersApi = new SubscribersApi(config);

// Create a subscriber
await subscribersApi.createSubscriber({
  subscriberId: "user-123",
  email: "[email protected]",
  firstName: "John",
  lastName: "Doe",
});

// Get subscriber
const subscriber = await subscribersApi.getSubscriber("user-123");

// Delete subscriber
await subscribersApi.deleteSubscriber("user-123");

Manage Topics

import { TopicsApi } from "@enbbox/api";

const topicsApi = new TopicsApi(config);

// Create a topic
await topicsApi.createTopic({
  key: "announcements",
  name: "Announcements",
});

// Add subscribers to topic
await topicsApi.addSubscribers("announcements", {
  subscribers: ["user-1", "user-2"],
});

HMAC Verification

Generate subscriber HMAC hashes for secure client-side identification:

import { createHmac } from "crypto";

function generateSubscriberHash(subscriberId: string, apiKey: string) {
  return createHmac("sha256", apiKey).update(subscriberId).digest("hex");
}

Available API Classes

ClassDescription
EventsApiTrigger and cancel notification events
SubscribersApiCreate, update, and delete subscribers
TopicsApiManage topics and topic subscriptions
WorkflowsApiCreate and manage notification workflows
IntegrationsApiConfigure notification channel providers
LayoutsApiManage notification layouts
InboxApiServer-side inbox operations

On this page