Skip to main content
The SDK is configured via the NexusConfig interface, passed to provideNexus(app, config) or createNexusPlugin(config). Both forms accept the same shape.

NexusConfig

API key types

Browser SDKs must use a wxp_... key. The SDK enforces this in three places:
  1. PublicApiKey branded type - when typed strictly, TypeScript prevents passing a plain string without assertPublicKey()
  2. Runtime guard - throws Error('Browser SDKs require a public key (wxp_...)') before any network call
  3. Backend enforcement - a request carrying an wxs_... key in the X-Nexus-API-Key header against a browser/public surface is rejected with 400 Bad Request

Where to keep the API key

Anywhere your existing build pipeline injects environment-specific config - typically .env files for Vite, or runtimeConfig.public for Nuxt 3. wxp_... keys are intended to be public, so embedding them in the built JavaScript bundle is fine.

Choosing the TTL

The TTL is a tradeoff between staleness window and redundant network traffic. With SSE enabled (the default), changes propagate in milliseconds regardless of the TTL - the TTL only matters as a safety net when the stream falls back.