Skip to main content

Java client

<dependency>
<groupId>eu.autosignly</groupId>
<artifactId>autosignly-client</artifactId>
<version>1.0.0</version>
</dependency>

Versions: the supported line is 1.0.*. The newest release of each package is listed among the tags in the repository.

Java 17 or newer. The only runtime dependency is Jackson; HTTP goes through the JDK client.

Example​

var client = AutosignlyClient.of(System.getenv("AUTOSIGNLY_API_KEY"),
System.getenv("AUTOSIGNLY_API_SECRET"));

String documentId = client.uploadAndSign(
Files.readAllBytes(Path.of("contract.pdf")),
"Consulting document",
"contract.pdf",
SigningOptions.of(List.of(
Signer.of("Anna", "Nowak", "[email protected]", "PL"))));

What it covers​

Everything the API exposes: credentials, listing and filtering documents (by status and by tag), reading one document, uploading a PDF with or without sending it, attachments, sending for signature, downloading the file, tags, parties — plus webhook signature verification and an iterator that walks large listings page by page.

Failures arrive as typed exceptions (AutosignlyException.NotFound, .Connection, …), and reads are retried with backoff, so a hiccup on the network does not become an outage in your code.

How it is tested​

The repository carries two suites, and mvn test runs both:

  • Unit tests against a local HTTP server — headers, multipart framing, retries, error mapping
  • Contract tests that check every field name the client reads or sends against the published OpenAPI specification, so a client that drifts from the API fails on its own

Separately, an internal end-to-end suite walks the whole journey against a live environment: it creates a company, uploads a PDF, attaches files, sends the document for signature, signs it as the recipient and verifies the sealed document that comes back.