SDK

Protocol overview

How the wire protocol, SDKs, and ingest endpoint fit together.

Protocol overview

The SDK is a convenience layer. Everything underneath is a single HTTP endpoint accepting a batch of typed events.

                     ┌───────────────────┐
   Application ───►  │   @cuitty/sdk     │  ─── HMAC-signed POST ───►  Portal
                     │  (or curl, etc.)   │
                     └───────────────────┘

Three things the SDK gives you

  1. Batching. Events accumulate in memory and flush every 5 seconds, or on buffer fill, or on shutdown().
  2. Signing. HMAC-SHA256 over the body using your API key — no need to hand-roll OpenSSL.
  3. Plugins. Tap into framework middleware, Pino, or your CI pipeline without rewriting your app.

Three things the SDK does not do

The contract

The contract between SDK and portal is documented in full at Wire protocol. Anything that conforms to the contract works — implement your own client in any language.