Enbbox Docs

API Reference

Complete REST API documentation for Enbbox. Authentication, rate limits, and endpoints for events, subscribers, workflows, topics, integrations, and notifications — with code examples and error handling.

REST API Reference

TL;DR — Enbbox provides a comprehensive REST API at https://api.enbbox.com/v1. Authenticate with Authorization: Bearer YOUR_API_KEY. Endpoints cover events (trigger/cancel), subscribers (CRUD + preferences + credentials), workflows (CRUD + status), topics (CRUD + membership), integrations (CRUD + testing), and notifications (list + stats).

Base URL

https://api.enbbox.com/v1

Authentication

All API requests require an API key passed in the Authorization header:

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.enbbox.com/v1/events/trigger

Generate API keys in the Enbbox dashboard under Settings → API Keys.

Rate Limits

PlanRate LimitBurst
Free100 requests/minute20
Pro1,000 requests/minute100
EnterpriseCustomCustom

Endpoints

Events (3 endpoints)

MethodEndpointDescription
POST/events/triggerTrigger a workflow
POST/events/trigger/bulkBulk trigger workflows
DELETE/events/trigger/:transactionIdCancel a pending event

Subscribers (7 endpoints)

MethodEndpointDescription
GET/subscribersList subscribers
POST/subscribersCreate a subscriber
GET/subscribers/:subscriberIdGet subscriber details
PUT/subscribers/:subscriberIdUpdate a subscriber
DELETE/subscribers/:subscriberIdDelete a subscriber
GET/subscribers/:subscriberId/preferencesGet preferences
PATCH/subscribers/:subscriberId/preferencesUpdate preferences
PUT/subscribers/:subscriberId/credentialsSet channel credentials

Workflows (6 endpoints)

MethodEndpointDescription
GET/workflowsList workflows
POST/workflowsCreate a workflow
GET/workflows/:workflowIdGet workflow details
PUT/workflows/:workflowIdUpdate a workflow
DELETE/workflows/:workflowIdDelete a workflow
PUT/workflows/:workflowId/statusUpdate workflow status

Topics (6 endpoints)

MethodEndpointDescription
GET/topicsList topics
POST/topicsCreate a topic
GET/topics/:topicKeyGet topic details
DELETE/topics/:topicKeyDelete a topic
POST/topics/:topicKey/subscribersAdd subscribers
POST/topics/:topicKey/subscribers/removalRemove subscribers

Notifications (3 endpoints)

MethodEndpointDescription
GET/notificationsList notifications
GET/notifications/:notificationIdGet notification details
GET/notifications/statsGet notification statistics

Integrations (5 endpoints)

MethodEndpointDescription
GET/integrationsList active integrations
POST/integrationsCreate an integration
PUT/integrations/:integrationIdUpdate an integration
DELETE/integrations/:integrationIdDelete an integration
PUT/integrations/:integrationId/statusSet integration status

Error Handling

All errors follow a standard JSON format:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Detailed error description"
}

Common Error Codes

CodeDescriptionResolution
400Bad Request — Invalid parametersCheck request body schema
401Unauthorized — Invalid or missing API keyVerify API key in Settings
404Not Found — Resource doesn't existCheck resource ID
409Conflict — Resource already existsUse a unique identifier
422Unprocessable — Validation errorCheck field constraints
429Too Many Requests — Rate limit exceededImplement exponential backoff
500Internal Server ErrorContact support

Pagination

List endpoints support cursor-based pagination:

GET /subscribers?page=0&limit=10

Response format:

{
  "data": [],
  "totalCount": 100,
  "page": 0,
  "pageSize": 10,
  "hasMore": true
}

On this page