diff --git a/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java b/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java index 4cd0959..d71e6df 100644 --- a/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java +++ b/src/main/java/com/salesforce/einsteinbot/sdk/client/BasicChatbotClientImpl.java @@ -271,6 +271,15 @@ private Consumer createCodecsConfiguration(ObjectMapper m } private Mono mapErrorResponse(ClientResponse clientResponse) { + // Handle 429 directly without body extraction + if (clientResponse.statusCode().value() == 429) { + com.salesforce.einsteinbot.sdk.model.Error error = new com.salesforce.einsteinbot.sdk.model.Error() + .status(429) + .message("Too many requests"); + return Mono.error(new ChatbotResponseException(clientResponse.statusCode(), error, + clientResponse.headers())); + } + return clientResponse .body(WebClientUtil.errorBodyExtractor()) .flatMap(errorDetails -> Mono