Construction
.health()
to verify the API is reachable.
Constructor signature
lumina.health()
Returns API status, on-chain block height, and the canonical contract
address book. Public — no API key required.
lumina.getContracts()
Cached, health-derived address book. First call hits /health; subsequent
calls return the cached map for the lifetime of the LuminaClient
instance.
Sub-resources
| Property | Class | Endpoints |
|---|---|---|
lumina.products | ProductsAPI | GET /products, GET /products/:id, GET /products/:id/quote |
lumina.policies | PoliciesAPI | GET/POST /api/v1/policies, GET /policies/:prod/:id |
lumina.bonds | BondsAPI | GET /api/v1/bonds, POST /api/v1/bonds/redeem |
lumina.marketplace | MarketplaceAPI | GET /api/v1/marketplace/listings |
lumina.agent | AgentAPI | POST /api/v1/agent/onboard, GET/DELETE /api/v1/agent/keys |
lumina.webhooks | WebhooksAPI | POST/GET/DELETE /api/v1/webhooks |
lumina.sandbox | SandboxAPI | GET /sandbox/info, POST /sandbox/try |
Errors
Every non-2xx response throwsLuminaError:
LuminaError with status === 0 and code === 'network_error'.
Custom fetch (advanced)
Both Node 18+ and modern browsers shipglobalThis.fetch, which is what the
SDK uses. There’s no override hook on the client itself; if you need to
intercept requests (for instrumentation, mock-in-test, etc.) overwrite
globalThis.fetch before constructing the client.