Whisper Java SDK

Here's how to integrate the official Whisper API Java SDK into your projects. This guide provides the necessary steps for installation and a practical example to make your first API call.

The SDK gives you access to the Whisper API, a platform for comprehensive intelligence on domains, IPs, and web infrastructure. You can access WHOIS data, perform DNS analysis, capture website screenshots, and much more through a unified interface.

Requirements

Before you start, make sure your development environment meets the following requirements:

  • Java 1.8+
  • Maven or Gradle

Installation

You can easily add the SDK to your project using your preferred build tool.

Maven

Add the following dependency to your project's pom.xml file:

<dependency>
  <groupId>org.openapitools</groupId>
  <artifactId>noctis-frontgraph-sdk</artifactId>
  <version>1.0.0</version>
  <scope>compile</scope>
</dependency>

Gradle

For Gradle users, add this dependency to your project's build file:

repositories {
  mavenCentral()
  mavenLocal()
}

dependencies {
   implementation "org.openapitools:noctis-frontgraph-sdk:1.0.0"
}

Getting Started: Your First API Call

Once the SDK is installed, you can start making API calls. All endpoints require Bearer Token authentication. The following example shows how to find subdomains for example.com.

// Import necessary classes
import com.noctisfrontgraph.sdk.invoker.*;
import com.noctisfrontgraph.sdk.invoker.auth.*;
import com.noctisfrontgraph.sdk.model.*;
import com.noctisfrontgraph.sdk.api.DomainManagementApi;

public class DomainManagementApiExample {

    public static void main(String[] args) {
        // 1. Configure the API client
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        defaultClient.setBasePath("https://api.whisper.security"); // Set the base URL
        
        // 2. Configure Bearer Token authentication
        HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
        bearerAuth.setBearerToken("YOUR_BEARER_TOKEN"); // Replace with your actual token

        // 3. Create an instance of the API
        DomainManagementApi apiInstance = new DomainManagementApi(defaultClient);
        
        // 4. Set parameters for the request
        String baseDomain = "example.com"; // The domain you want to search
        Integer limit = 100; // Maximum number of results
        String level = "ALL"; // Subdomain depth to find
        
        // 5. Execute the request and handle the response
        try {
            DomainerStringListResponse result = apiInstance.findSubdomains(baseDomain, limit, level);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling DomainManagementApi#findSubdomains");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            e.printStackTrace();
        }
    }
}

Available API Endpoints

The SDK provides access to several services, each managed by its own class. All URIs are relative to https://api.whisper.security.

  • DomainManagementApi
    • findSubdomains: Finds subdomains for a given base domain.
  • IntelligenceServicesApi
    • getDomainIntelligence: Retrieves comprehensive intelligence for a domain.
    • getIpIntelligence: Gathers detailed intelligence for a specific IP address.