Java SDK

Official Java client library for Summize.app

Installation

Get started with the Java SDK

Maven

pom.xml
<dependency>
  <groupId>com.summize</groupId>
  <artifactId>sdk</artifactId>
  <version>2.0.0</version>
</dependency>

Add to your Maven project's pom.xml.

Gradle

build.gradle
implementation 'com.summize:sdk:2.0.0'

Add to your Gradle project's build.gradle.

Quick Start

Get up and running in minutes

Basic Usage

java
import com.summize.SummizeClient;
import com.summize.SummarizeRequest;
import com.summize.SummarizeResponse;

// Initialize client
SummizeClient client = new SummizeClient("your-api-key");

// Create request
SummarizeRequest request = SummarizeRequest.builder()
    .data(salesData)
    .format("narrative")
    .style("executive")
    .build();

// Generate summary
SummarizeResponse response = client.summarize(request);
System.out.println(response.getSummary());

API Reference

Complete documentation of all classes and methods

SummizeClient

SummizeClient client = new SummizeClient(apiKey, options);

Constructor

  • SummizeClient(String apiKey)
  • SummizeClient(String apiKey, ClientOptions options)

Methods

  • summarize(SummarizeRequest)
  • getReports(GetReportsRequest)
  • getTemplates(GetTemplatesRequest)

SummarizeRequest

Builder class for creating summarization requests

SummarizeRequest request = SummarizeRequest.builder()
    .data(salesData)
    .format(Format.NARRATIVE)
    .style(Style.EXECUTIVE)
    .maxLength(500)
    .build();

Builder Methods

  • data(Object data) - Data to summarize
  • format(Format format) - Output format
  • style(Style style) - Writing style
  • maxLength(Integer maxLength) - Max length

Enums

  • Format.NARRATIVE
  • Format.BULLET
  • Format.EXECUTIVE
  • Style.TECHNICAL
  • Style.BUSINESS
  • Style.CASUAL

SummarizeResponse

Response object containing the generated summary

SummarizeResponse response = client.summarize(request);
String summary = response.getSummary();
List<String> insights = response.getInsights();
Double confidence = response.getConfidence();
Double processingTime = response.getProcessingTime();

Getters

  • getSummary() - Generated summary text
  • getInsights() - List of key insights
  • getConfidence() - Confidence score
  • getProcessingTime() - Processing time

Types

  • String - Summary text
  • List<String> - Insights list
  • Double - Confidence (0.0-1.0)
  • Double - Processing time (seconds)

Examples

Common use cases and patterns

Spring Boot Service

@Service
public class ReportService {
    private final SummizeClient summizeClient;
    
    public ReportService(@Value("${summize.api.key}") String apiKey) {
        this.summizeClient = new SummizeClient(apiKey);
    }
    
    public String generateReport(Map<String, Object> data) {
        SummarizeRequest request = SummarizeRequest.builder()
            .data(data)
            .format(Format.EXECUTIVE)
            .style(Style.BUSINESS)
            .build();
            
        SummarizeResponse response = summizeClient.summarize(request);
        return response.getSummary();
    }
}

Error Handling

try {
    SummarizeResponse response = client.summarize(request);
    System.out.println(response.getSummary());
} catch (SummizeException e) {
    switch (e.getErrorCode()) {
        case RATE_LIMIT:
            System.out.println("Rate limit exceeded");
            break;
        case INVALID_API_KEY:
            System.out.println("Invalid API key");
            break;
        default:
            System.out.println("Error: " + e.getMessage());
    }
}

Enterprise Features

Built for enterprise Java applications

🔒

Security

Enterprise-grade security with SSL/TLS encryption and secure API key handling.

Performance

Optimized for high-performance applications with connection pooling and async support.

🏢

Enterprise Ready

Compatible with Spring Boot, Jakarta EE, and other enterprise frameworks.

Migration Guide

Upgrading from previous versions

Version 2.0 Breaking Changes

  • • Client constructor now requires API key as first parameter
  • • All methods now use builder pattern for requests
  • • Improved exception handling with SummizeException
  • • Better support for async operations with CompletableFuture

Ready to get started?

Add the Java SDK to your project and start building with Summize.