Skip to main content
All client SDKs surface errors through the AvatarController.onError callback as AvatarError.
controller.onError = (error: AvatarError) => {
  console.error('Error:', error.code, error.message)
}

Web — ErrorCode

CodeDescriptionRecovery
appIDUnrecognizedApp ID not recognized.Verify your app ID in the dashboard.
sessionTokenInvalidSession token is invalid or appId mismatch.Verify token generation on your server.
sessionTokenExpiredSession token has expired.Request a new token from your server.
insufficientBalanceAccount balance is insufficient.Top up your account in the dashboard.
sessionTimeoutSession timed out.Reconnect by calling start() again.
concurrentLimitExceededConcurrent connection limit exceeded.Close other active sessions before starting a new one.
avatarIDUnrecognizedAvatar ID not found.Check the avatar ID exists and is published.
failedToFetchAvatarMetadataFailed to fetch avatar metadata.Check network connectivity and retry.
failedToDownloadAvatarAssetsFailed to download avatar assets.Check network connectivity and retry.
serverErrorServer-side error.Check the error message for details.

iOS — AvatarError

ErrorDescriptionRecovery
appIDUnrecognizedApp ID not recognized.Verify your app ID in the dashboard.
sessionTokenInvalidSession token is invalid or appId mismatch.Verify token generation on your server.
sessionTokenExpiredSession token has expired.Request a new token from your server.
insufficientBalanceAccount balance is insufficient.Top up your account in the dashboard.
sessionTimeoutSession timed out.Reconnect by calling start() again.
concurrentLimitExceededConcurrent connection limit exceeded.Close other active sessions before starting a new one.
avatarIDUnrecognizedAvatar ID not found.Check the avatar ID exists and is published.
avatarAssetMissingAvatar asset is missing locally.Re-download with AvatarManager.load().
failedToFetchAvatarMetadataFailed to fetch avatar metadata.Check network connectivity and retry.
failedToDownloadAvatarAssetsFailed to download avatar assets.Check network connectivity and retry.
serverError(code, message)Server-side error.Check the error message for details.

Android — AvatarError

ErrorDescriptionRecovery
AppIDUnrecognizedApp ID not recognized.Verify your app ID in the dashboard.
SessionTokenInvalidSession token is invalid or appId mismatch.Verify token generation on your server.
SessionTokenExpiredSession token has expired.Request a new token from your server.
InsufficientBalanceAccount balance is insufficient.Top up your account in the dashboard.
SessionTimeoutSession timed out.Reconnect by calling start() again.
ConcurrentLimitExceededConcurrent connection limit exceeded.Close other active sessions before starting a new one.
AvatarIDUnrecognizedAvatar ID not found.Check the avatar ID exists and is published.
AvatarAssetMissingAvatar asset is missing locally.Re-download with AvatarManager.load().
FailedToFetchAvatarMetadataFailed to fetch avatar metadata.Check network connectivity and retry.
FailedToDownloadAvatarAssetsFailed to download avatar assets.Check network connectivity and retry.
ServerError(message, code)Server-side error.Check the error message for details.
  1. Log the error code and current lifecycle phase.
  2. Retry transient network/download failures with backoff.
  3. Refresh session token for auth-related errors.
  4. Surface configuration errors to developers/operators.
For platform-specific API details, see: