[IBM watsonx-ai-java-sdk error handling docs]: For token_quota_reached, back off and request more quota; the LangChain4j integration surfaces it as RateLimitException. model_not_supported means the model ID is wrong, deprecated, or not in this region or plan. Authentication failures are usually an expired token (auto-handled by the SDK, tunable via the WATSONX_RETRY_TOKEN_EXPIRED_MAX_RETRIES env var) or a bad API key. Every watsonx exception carries a trace ID for debugging.

Context: Calls to watsonx.ai fail with API error codes that map to specific exceptions in the Java SDK: token_quota_reached (quota exhausted), model_not_supported (model not available), authentication_token_expired, authorization_rejected, and user_authorization_failed. The SDK auto-refreshes expired auth tokens and retries once by default.