Skip to content

hellosign/dropbox-sign-java

Repository files navigation

dropbox-sign

Dropbox Sign v3 API

Migrating from legacy SDK

This SDK is generated from our officially maintained OpenAPI spec. We've made important updates that introduce new functionality and create feature parity between the Dropbox Sign API and the SDK. However, some of these changes are considered "breaking" in the sense that they'll require you to update your existing code in order to continue using the SDK. Please refer to this migration guide for more information.

Version & Requirements

This is version 2.x of the Java SDK. It depends on Jakarta EE and Jersey 3.

If your project has not been updated for Jakarta or Jersey 3, you should use the V1 SDK, which uses Jersey 2 & supports compatibility with Java EEs javax namespace.

Both versions will receive updates so use whichever your application prefers.

Contributing

This repo is no longer accepting new issues or Pull Requests. All issues or Pull Requests must be opened against the hellosign/hellosign-openapi repo!

Changes to the SDK code

You must make SDK code changes in the mustache file within the templates directory that corresponds to the file you want updated.

We use OpenAPI Generator to automatically generate this SDK from the OAS, using the template files.

Building

You must have docker (or podman linked to docker) installed. Highly recommended to use rootless docker.

Run the following and everything is done for you:

./run-build

Attention: Any changes you have made to the SDK code that you have not made to the OAS file and/or the mustache template files will be lost when you run this command.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.dropbox.sign</groupId>
  <artifactId>dropbox-sign</artifactId>
  <version>2.0.0</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

  repositories {
    mavenCentral()     // Needed if the 'dropbox-sign' jar has been published to maven central.
    mavenLocal()       // Needed if the 'dropbox-sign' jar has been published to the local maven repo.
  }

  dependencies {
     implementation "com.dropbox.sign:dropbox-sign:2.0.0"
  }

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/dropbox-sign-2.0.0.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

import com.dropbox.sign.ApiException;
import com.dropbox.sign.Configuration;
import com.dropbox.sign.api.*;
import com.dropbox.sign.auth.*;
import com.dropbox.sign.model.*;

public class Example {
    public static void main(String[] args) {
        var apiClient = Configuration.getDefaultApiClient()
            .setApiKey("YOUR_API_KEY");

        // or, configure Bearer (JWT) authorization: oauth2
        /*
        var apiClient = Configuration.getDefaultApiClient()
            .setBearerToken("YOUR_ACCESS_TOKEN");
        */

        var accountApi = new AccountApi(apiClient);

        var data = new AccountCreateRequest()
            .emailAddress("newuser@dropboxsign.com");

        try {
            AccountCreateResponse result = accountApi.accountCreate(data);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling AccountApi#accountCreate");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
    }
}

Using a Proxy

To add a HTTP proxy for the API client, use ClientConfig:

  import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
  import org.glassfish.jersey.client.ClientConfig;
  import org.glassfish.jersey.client.ClientProperties;
  import com.dropbox.sign.*;
  import com.dropbox.sign.api.AccountApi;

  ...

  ApiClient defaultClient = Configuration.getDefaultApiClient();
  ClientConfig clientConfig = defaultClient.getClientConfig();
  clientConfig.connectorProvider(new ApacheConnectorProvider());
  clientConfig.property(ClientProperties.PROXY_URI, "http://proxy_url_here");
  clientConfig.property(ClientProperties.PROXY_USERNAME, "proxy_username");
  clientConfig.property(ClientProperties.PROXY_PASSWORD, "proxy_password");
  defaultClient.setClientConfig(clientConfig);

  AccountApi apiInstance = new AccountApi(defaultClient);

Documentation for API Endpoints

All URIs are relative to https://api.hellosign.com/v3

Class Method HTTP request Description
AccountApi accountCreate POST /account/create Create Account
AccountApi accountGet GET /account Get Account
AccountApi accountUpdate PUT /account Update Account
AccountApi accountVerify POST /account/verify Verify Account
ApiAppApi apiAppCreate POST /api_app Create API App
ApiAppApi apiAppDelete DELETE /api_app/{client_id} Delete API App
ApiAppApi apiAppGet GET /api_app/{client_id} Get API App
ApiAppApi apiAppList GET /api_app/list List API Apps
ApiAppApi apiAppUpdate PUT /api_app/{client_id} Update API App
BulkSendJobApi bulkSendJobGet GET /bulk_send_job/{bulk_send_job_id} Get Bulk Send Job
BulkSendJobApi bulkSendJobList GET /bulk_send_job/list List Bulk Send Jobs
EmbeddedApi embeddedEditUrl POST /embedded/edit_url/{template_id} Get Embedded Template Edit URL
EmbeddedApi embeddedSignUrl GET /embedded/sign_url/{signature_id} Get Embedded Sign URL
OAuthApi oauthTokenGenerate POST /oauth/token OAuth Token Generate
OAuthApi oauthTokenRefresh POST /oauth/token?refresh OAuth Token Refresh
ReportApi reportCreate POST /report/create Create Report
SignatureRequestApi signatureRequestBulkCreateEmbeddedWithTemplate POST /signature_request/bulk_create_embedded_with_template Embedded Bulk Send with Template
SignatureRequestApi signatureRequestBulkSendWithTemplate POST /signature_request/bulk_send_with_template Bulk Send with Template
SignatureRequestApi signatureRequestCancel POST /signature_request/cancel/{signature_request_id} Cancel Incomplete Signature Request
SignatureRequestApi signatureRequestCreateEmbedded POST /signature_request/create_embedded Create Embedded Signature Request
SignatureRequestApi signatureRequestCreateEmbeddedWithTemplate POST /signature_request/create_embedded_with_template Create Embedded Signature Request with Template
SignatureRequestApi signatureRequestEdit PUT /signature_request/edit/{signature_request_id} Edit Signature Request
SignatureRequestApi signatureRequestEditEmbedded PUT /signature_request/edit_embedded/{signature_request_id} Edit Embedded Signature Request
SignatureRequestApi signatureRequestEditEmbeddedWithTemplate PUT /signature_request/edit_embedded_with_template/{signature_request_id} Edit Embedded Signature Request with Template
SignatureRequestApi signatureRequestEditWithTemplate PUT /signature_request/edit_with_template/{signature_request_id} Edit Signature Request With Template
SignatureRequestApi signatureRequestFiles GET /signature_request/files/{signature_request_id} Download Files
SignatureRequestApi signatureRequestFilesAsDataUri GET /signature_request/files_as_data_uri/{signature_request_id} Download Files as Data Uri
SignatureRequestApi signatureRequestFilesAsFileUrl GET /signature_request/files_as_file_url/{signature_request_id} Download Files as File Url
SignatureRequestApi signatureRequestGet GET /signature_request/{signature_request_id} Get Signature Request
SignatureRequestApi signatureRequestList GET /signature_request/list List Signature Requests
SignatureRequestApi signatureRequestReleaseHold POST /signature_request/release_hold/{signature_request_id} Release On-Hold Signature Request
SignatureRequestApi signatureRequestRemind POST /signature_request/remind/{signature_request_id} Send Request Reminder
SignatureRequestApi signatureRequestRemove POST /signature_request/remove/{signature_request_id} Remove Signature Request Access
SignatureRequestApi signatureRequestSend POST /signature_request/send Send Signature Request
SignatureRequestApi signatureRequestSendWithTemplate POST /signature_request/send_with_template Send with Template
SignatureRequestApi signatureRequestUpdate POST /signature_request/update/{signature_request_id} Update Signature Request
TeamApi teamAddMember PUT /team/add_member Add User to Team
TeamApi teamCreate POST /team/create Create Team
TeamApi teamDelete DELETE /team/destroy Delete Team
TeamApi teamGet GET /team Get Team
TeamApi teamInfo GET /team/info Get Team Info
TeamApi teamInvites GET /team/invites List Team Invites
TeamApi teamMembers GET /team/members/{team_id} List Team Members
TeamApi teamRemoveMember POST /team/remove_member Remove User from Team
TeamApi teamSubTeams GET /team/sub_teams/{team_id} List Sub Teams
TeamApi teamUpdate PUT /team Update Team
TemplateApi templateAddUser POST /template/add_user/{template_id} Add User to Template
TemplateApi templateCreate POST /template/create Create Template
TemplateApi templateCreateEmbeddedDraft POST /template/create_embedded_draft Create Embedded Template Draft
TemplateApi templateDelete POST /template/delete/{template_id} Delete Template
TemplateApi templateFiles GET /template/files/{template_id} Get Template Files
TemplateApi templateFilesAsDataUri GET /template/files_as_data_uri/{template_id} Get Template Files as Data Uri
TemplateApi templateFilesAsFileUrl GET /template/files_as_file_url/{template_id} Get Template Files as File Url
TemplateApi templateGet GET /template/{template_id} Get Template
TemplateApi templateList GET /template/list List Templates
TemplateApi templateRemoveUser POST /template/remove_user/{template_id} Remove User from Template
TemplateApi templateUpdateFiles POST /template/update_files/{template_id} Update Template Files
UnclaimedDraftApi unclaimedDraftCreate POST /unclaimed_draft/create Create Unclaimed Draft
UnclaimedDraftApi unclaimedDraftCreateEmbedded POST /unclaimed_draft/create_embedded Create Embedded Unclaimed Draft
UnclaimedDraftApi unclaimedDraftCreateEmbeddedWithTemplate POST /unclaimed_draft/create_embedded_with_template Create Embedded Unclaimed Draft with Template
UnclaimedDraftApi unclaimedDraftEditAndResend POST /unclaimed_draft/edit_and_resend/{signature_request_id} Edit and Resend Unclaimed Draft

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

api_key

  • Type: HTTP basic authentication

oauth2

  • Type: HTTP basic authentication

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Author

apisupport@hellosign.com

About this package

This Java package is automatically generated by the OpenAPI Generator project:

  • API version: 3.0.0
    • Package version: 2.0.0
  • Build package: org.openapitools.codegen.languages.JavaClientCodegen

Working on this SDK

This section includes documentation about how to generate the SDK in case you want to make a contribution.

Building the SDK with Docker

Run ./run-build

Installation / Deployment

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.