NexusException | Base class for all SDK errors. Also thrown directly for unexpected HTTP status codes. | Various |
NexusConfigException | A NexusConfig value was rejected at construction. The message names the option, the value and - for a list option - the index. Covers a non-https baseUrl, a non-positive ttl, a blank or missing apiKey, and an sseReconnectCooldown entry below one minute. | NexusClient.create |
NexusInitException | Initial sync failed at client creation. Wraps the underlying cause. | NexusClient.create |
NexusClosedException | The client has been closed. Cached reads still work; anything touching the network does not. | sync, connectStream, the write methods |
NexusNoHttpEngineException | No Ktor client engine is available. The message names the dependency line to add. | NexusClient.create |
NexusUnauthorizedException | HTTP 401 - invalid API key, endpoint mismatch, or expired session that could not be refreshed. | sync, NexusClient.create |
NexusNotFoundException | HTTP 404 - the service or secret was not found. Usually indicates a wrong baseUrl. | every endpoint |
NexusForbiddenException | HTTP 403 - this key is not permitted to perform the operation. (On evaluateAB, 403 is NexusAbAddonNotAvailableException instead.) | every endpoint except evaluateAB |
NexusResponseTooLargeException | A response body exceeded the SDK’s size cap. The cap is enforced while reading, so an over-large body never reaches the parser as a truncated document. | sync, evaluateAB, token exchange |
NexusPublicKeyException | A public key (wxp_…, browser/frontend, safe to expose) was used to read or write a secret. Public keys cannot access secrets. | getSecret, getSecretFilePath, the write methods |
NexusSecretNotFoundException | The requested secret key is not in the current snapshot. | getSecret, getSecretFilePath |
NexusBillingException | HTTP 402 - the tenant has overdue invoices. The background refresh backs off for five minutes and cached values keep being served; observer.onBillingOverdue() is also called. Any successful sync clears the state. | every endpoint |
NexusServiceKindMismatchException | A secret was read on a frontend service, which never syncs secrets. A path is the secret’s contents, so this applies to getSecretFilePath too. | getSecret, getSecretFilePath |
NexusWifNotConfiguredException | WIF is enabled but no credential could be resolved for the current environment, The client is not created - it never falls back to API-key authentication. | NexusClient.create |
NexusWifTokenExchangeFailedException | The OIDC token was obtained but the POST /v1/auth/token-exchange request failed. | NexusClient.create, background session refresh |
NexusSessionExpiredException | WIF session expired and the background refresh failed. | Background session refresh |
NexusAbAddonNotAvailableException | HTTP 403 from evaluateAB - the A/B add-on is not active for this project. | evaluateAB |
NexusQuarantinedException | HTTP 429 with a quarantine payload - the service is temporarily barred from calling the API. Contains reason: String and expiresAt: Instant, already clamped to at most 24 hours from now. | every endpoint |
NexusRateLimitedException | HTTP 429 without a quarantine payload. The request was rejected due to rate limiting; retry after a back-off. | every endpoint |