Platform overview
Harbor is an event routing platform for workspaces, events, and outbound webhooks. You emit events from your backend, Harbor persists them, and subscribed HTTPS endpoints receive signed deliveries.
The @harbor/sdk package wraps the REST API for Node.js with typed clients, cursor pagination, and retry handling.
Core resources
| Resource | Purpose |
|---|---|
| Workspaces | Isolation boundary for events, webhooks, and API keys |
| Events | Immutable records of activity (for example, order.shipped) |
| Webhooks | HTTPS endpoints Harbor calls when matching events occur |
| API keys | Secret or restricted credentials for server-side access |
Harbor is intentionally narrow: it routes and delivers events. It is not a database, auth provider, or file store.
How it fits together
Read Event lifecycle and Webhook delivery for the full sequence.
SDK vs REST API
| Use the SDK when | Use the REST API when |
|---|---|
| Building Node.js services with repeated calls | Writing scripts in other languages |
| You need pagination helpers and typed errors | Prototyping with cURL or the dashboard explorer |
| Multiple teams share error handling patterns | Infrastructure probes or one-off admin tasks |
REST conventions are documented in REST API overview.
What the SDK includes
- Secret key auth with automatic host selection (
hb_test_vshb_live_) - Cursor pagination and
listAutofor batch exports - Retries with backoff for rate limits and transient
5xxresponses verifyWebhookSignature()for inbound delivery validation- Typed
HarborErrorwith stablecodevalues
Quick links
| Goal | Start here |
|---|---|
| Install and first event | Installation → Quickstart |
| Understand events | Event lifecycle |
| Receive notifications | Webhooks guide |
| Production credentials | Managing API keys |
| Upgrade from SDK v1 | Migrating from v1.0 |
| Debug failures | Common errors |