Integrations

Spring Boot integration

Send OpenAI-compatible chat completions from Spring Boot using WebClient.

Updated 2026-01-03

Use Spring WebClient to post a minimal chat completion payload.

Store your ABLIT_KEY in an environment variable or secret manager.

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;

import java.util.List;
import java.util.Map;

@RestController
public class ChatController {
  private final WebClient client = WebClient.builder()
    .baseUrl("https://api.abliteration.ai/v1")
    .defaultHeader("Authorization", "Bearer " + System.getenv("ABLIT_KEY"))
    .build();

  @PostMapping("/chat")
  public Mono<String> chat(@RequestBody Map<String, String> body) {
    return client.post()
      .uri("/chat/completions")
      .contentType(MediaType.APPLICATION_JSON)
      .bodyValue(Map.of(
        "model", "abliterated-model",
        "messages", List.of(Map.of("role", "user", "content", body.get("prompt")))
      ))
      .retrieve()
      .bodyToMono(String.class);
  }
}