Skip to main content

Installation

Add the following dependency to your pom.xml:
Or for Gradle:

Quick start

Initialization

Config:
  • apiKey (required) – your D3 API key.
  • baseUrl (optional) – API base URL, default: https://api.dragdropdo.com.
  • timeout (optional) – request timeout in ms, default: 30000.
  • headers (optional) – additional headers to send with every request.

File upload

Options:
  • file (required) – file path string.
  • fileName (required) – original file name.
  • mimeType (optional) – MIME type (auto‑detected if omitted).
  • parts (optional) – number of upload parts (auto‑calculated).
  • onProgress (optional) – progress callback (Consumer<UploadProgress>).
Example:

Supported operations

Options:
  • ext (required) – file extension (e.g. pdf, jpg).
  • action (optional) – specific action (convert, compress, …).
  • parameters (optional) – parameters to validate (e.g. Map.of("convert_to", "png")).
Examples:

Create operations

Options:
  • action (required) – "convert" | "compress" | "merge" | "zip" | "lock" | "unlock" | "reset_password".
  • fileKeys (required) – list of file keys from upload.
  • parameters (optional) – action‑specific parameters.
  • notes (optional) – user metadata.
Examples:

Convenience helpers

The client exposes shorthand helpers:

Status & polling

StatusOptions (used by getStatus):
  • mainTaskId (required) – set via setMainTaskId(String).
  • fileKey (optional) – set via setFileKey(String) when you need status for a specific input file.
PollStatusOptions (extends StatusOptions; used by pollStatus):
  • Same setters as StatusOptions, plus:
  • interval (optional) – milliseconds between polls, default 2000 if unset (setInterval(long)).
  • timeout (optional) – maximum total polling time in milliseconds, default 300000 if unset (setTimeout(long)).
  • onUpdate (optional) – Consumer<StatusResponse> for each successful status fetch (setOnUpdate).
Examples:

Complete workflow example