> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.sign.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Sdk reference

A list of all methods in the `SignplusService` service. Click on the method name to view detailed information about that method.

| Methods                                                                   | Description                                                     |
| :------------------------------------------------------------------------ | :-------------------------------------------------------------- |
| [createEnvelope](#createenvelope)                                         | Create new envelope                                             |
| [createEnvelopeFromTemplate](#createenvelopefromtemplate)                 | Create new envelope from template                               |
| [listEnvelopes](#listenvelopes)                                           | List envelopes                                                  |
| [getEnvelope](#getenvelope)                                               | Get envelope                                                    |
| [deleteEnvelope](#deleteenvelope)                                         | Delete envelope                                                 |
| [downloadEnvelopeSignedDocuments](#downloadenvelopesigneddocuments)       | Download signed documents for an envelope                       |
| [downloadEnvelopeCertificate](#downloadenvelopecertificate)               | Download certificate of completion for an envelope              |
| [getEnvelopeDocument](#getenvelopedocument)                               | Get envelope document                                           |
| [getEnvelopeDocuments](#getenvelopedocuments)                             | Get envelope documents                                          |
| [addEnvelopeDocument](#addenvelopedocument)                               | Add envelope document                                           |
| [setEnvelopeDynamicFields](#setenvelopedynamicfields)                     | Set envelope dynamic fields                                     |
| [addEnvelopeSigningSteps](#addenvelopesigningsteps)                       | Add envelope signing steps                                      |
| [setEnvelopeAttachmentsSettings](#setenvelopeattachmentssettings)         | Set envelope attachment settings                                |
| [setEnvelopeAttachmentsPlaceholders](#setenvelopeattachmentsplaceholders) | Placeholders to be set, completely replacing the existing ones. |
| [getAttachmentFile](#getattachmentfile)                                   | Get envelope attachment file                                    |
| [sendEnvelope](#sendenvelope)                                             | Send envelope for signature                                     |
| [duplicateEnvelope](#duplicateenvelope)                                   | Duplicate envelope                                              |
| [voidEnvelope](#voidenvelope)                                             | Void envelope                                                   |
| [renameEnvelope](#renameenvelope)                                         | Rename envelope                                                 |
| [setEnvelopeComment](#setenvelopecomment)                                 | Set envelope comment                                            |
| [setEnvelopeNotification](#setenvelopenotification)                       | Set envelope notification                                       |
| [setEnvelopeExpirationDate](#setenvelopeexpirationdate)                   | Set envelope expiration date                                    |
| [setEnvelopeLegalityLevel](#setenvelopelegalitylevel)                     | Set envelope legality level                                     |
| [getEnvelopeAnnotations](#getenvelopeannotations)                         | Get envelope annotations                                        |
| [getEnvelopeDocumentAnnotations](#getenvelopedocumentannotations)         | Get envelope document annotations                               |
| [addEnvelopeAnnotation](#addenvelopeannotation)                           | Add envelope annotation                                         |
| [deleteEnvelopeAnnotation](#deleteenvelopeannotation)                     | Delete envelope annotation                                      |
| [createTemplate](#createtemplate)                                         | Create new template                                             |
| [listTemplates](#listtemplates)                                           | List templates                                                  |
| [getTemplate](#gettemplate)                                               | Get template                                                    |
| [deleteTemplate](#deletetemplate)                                         | Delete template                                                 |
| [duplicateTemplate](#duplicatetemplate)                                   | Duplicate template                                              |
| [addTemplateDocument](#addtemplatedocument)                               | Add template document                                           |
| [getTemplateDocument](#gettemplatedocument)                               | Get template document                                           |
| [getTemplateDocuments](#gettemplatedocuments)                             | Get template documents                                          |
| [addTemplateSigningSteps](#addtemplatesigningsteps)                       | Add template signing steps                                      |
| [renameTemplate](#renametemplate)                                         | Rename template                                                 |
| [setTemplateComment](#settemplatecomment)                                 | Set template comment                                            |
| [setTemplateNotification](#settemplatenotification)                       | Set template notification                                       |
| [getTemplateAnnotations](#gettemplateannotations)                         | Get template annotations                                        |
| [getDocumentTemplateAnnotations](#getdocumenttemplateannotations)         | Get document template annotations                               |
| [addTemplateAnnotation](#addtemplateannotation)                           | Add template annotation                                         |
| [deleteTemplateAnnotation](#deletetemplateannotation)                     | Delete template annotation                                      |
| [setTemplateAttachmentsSettings](#settemplateattachmentssettings)         | Set template attachment settings                                |
| [setTemplateAttachmentsPlaceholders](#settemplateattachmentsplaceholders) | Placeholders to be set, completely replacing the existing ones. |
| [createWebhook](#createwebhook)                                           | Create webhook                                                  |
| [listWebhooks](#listwebhooks)                                             | List webhooks                                                   |
| [deleteWebhook](#deletewebhook)                                           | Delete webhook                                                  |

## createEnvelope

Create new envelope

* HTTP Method: `POST`
* Endpoint: `/envelope`

**Parameters**

| Name                  | Type                                                                           | Required | Description  |
| :-------------------- | :----------------------------------------------------------------------------- | :------- | :----------- |
| createEnvelopeRequest | [CreateEnvelopeRequest](/api-reference/endpoints/signplus/create-new-envelope) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.CreateEnvelopeRequest;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.EnvelopeLegalityLevel;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    CreateEnvelopeRequest createEnvelopeRequest = CreateEnvelopeRequest.builder()
      .name("name")
      .legalityLevel(EnvelopeLegalityLevel.SES)
      .expiresAt(8L)
      .comment("comment")
      .sandbox(false)
      .build();

    Envelope response = signplus.signplus.createEnvelope(createEnvelopeRequest);

    System.out.println(response);
  }
}

```

## createEnvelopeFromTemplate

Create new envelope from template

* HTTP Method: `POST`
* Endpoint: `/envelope/from_template/{template_id}`

**Parameters**

| Name                              | Type                                                                                                     | Required | Description  |
| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :------- | :----------- |
| templateId                        | String                                                                                                   | ✅        |              |
| createEnvelopeFromTemplateRequest | [CreateEnvelopeFromTemplateRequest](/api-reference/endpoints/signplus/create-new-envelope-from-template) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.CreateEnvelopeFromTemplateRequest;
import com.alohi.signplus.models.Envelope;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    CreateEnvelopeFromTemplateRequest createEnvelopeFromTemplateRequest = CreateEnvelopeFromTemplateRequest.builder()
      .name("name")
      .comment("comment")
      .sandbox(true)
      .build();

    Envelope response = signplus.signplus.createEnvelopeFromTemplate("template_id", createEnvelopeFromTemplateRequest);

    System.out.println(response);
  }
}

```

## listEnvelopes

List envelopes

* HTTP Method: `POST`
* Endpoint: `/envelopes`

**Parameters**

| Name                 | Type                                                                     | Required | Description  |
| :------------------- | :----------------------------------------------------------------------- | :------- | :----------- |
| listEnvelopesRequest | [ListEnvelopesRequest](/api-reference/endpoints/signplus/list-envelopes) | ❌        | Request Body |

**Return Type**

`ListEnvelopesResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.EnvelopeOrderField;
import com.alohi.signplus.models.EnvelopeStatus;
import com.alohi.signplus.models.ListEnvelopesRequest;
import com.alohi.signplus.models.ListEnvelopesResponse;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    List<String> tagsList = Arrays.asList("tags");

    List<String> idsList = Arrays.asList("ids");

    List<EnvelopeStatus> statusesList = Arrays.asList(EnvelopeStatus.DRAFT);

    List<String> folderIdsList = Arrays.asList("folder_ids");

    ListEnvelopesRequest listEnvelopesRequest = ListEnvelopesRequest.builder()
      .name("name")
      .tags(tagsList)
      .comment("comment")
      .ids(idsList)
      .statuses(statusesList)
      .folderIds(folderIdsList)
      .onlyRootFolder(true)
      .dateFrom(5L)
      .dateTo(9L)
      .uid("uid")
      .first(9L)
      .last(7L)
      .after("after")
      .before("before")
      .orderField(EnvelopeOrderField.CREATION_DATE)
      .ascending(true)
      .includeTrash(true)
      .build();

    ListEnvelopesResponse response = signplus.signplus.listEnvelopes(listEnvelopesRequest);

    System.out.println(response);
  }
}

```

## getEnvelope

Get envelope

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Envelope response = signplus.signplus.getEnvelope("envelope_id");

    System.out.println(response);
  }
}

```

## deleteEnvelope

Delete envelope

* HTTP Method: `DELETE`
* Endpoint: `/envelope/{envelope_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    signplus.signplus.deleteEnvelope("envelope_id");
  }
}

```

## downloadEnvelopeSignedDocuments

Download signed documents for an envelope

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/signed_documents`

**Parameters**

| Name              | Type                                                                                                         | Required | Description               |
| :---------------- | :----------------------------------------------------------------------------------------------------------- | :------- | :------------------------ |
| envelopeId        | String                                                                                                       | ✅        | ID of the envelope        |
| requestParameters | [DownloadEnvelopeSignedDocumentsParameters](/api-reference/endpoints/signplus/get-envelope-signed_documents) | ❌        | Request Parameters Object |

**Return Type**

`byte[]`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.DownloadEnvelopeSignedDocumentsParameters;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    DownloadEnvelopeSignedDocumentsParameters requestParameters = DownloadEnvelopeSignedDocumentsParameters.builder()
      .certificateOfCompletion(true)
      .build();

    byte[] response = signplus.signplus.downloadEnvelopeSignedDocuments("envelope_id", requestParameters);

    System.out.println(response);
  }
}

```

## downloadEnvelopeCertificate

Download certificate of completion for an envelope

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/certificate`

**Parameters**

| Name       | Type   | Required | Description        |
| :--------- | :----- | :------- | :----------------- |
| envelopeId | String | ✅        | ID of the envelope |

**Return Type**

`byte[]`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    byte[] response = signplus.signplus.downloadEnvelopeCertificate("envelope_id");

    System.out.println(response);
  }
}

```

## getEnvelopeDocument

Get envelope document

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/document/{document_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |
| documentId | String | ✅        |             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Document;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Document response = signplus.signplus.getEnvelopeDocument("envelope_id", "document_id");

    System.out.println(response);
  }
}

```

## getEnvelopeDocuments

Get envelope documents

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/documents`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Return Type**

`ListEnvelopeDocumentsResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListEnvelopeDocumentsResponse;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListEnvelopeDocumentsResponse response = signplus.signplus.getEnvelopeDocuments("envelope_id");

    System.out.println(response);
  }
}

```

## addEnvelopeDocument

Add envelope document

* HTTP Method: `POST`
* Endpoint: `/envelope/{envelope_id}/document`

**Parameters**

| Name                       | Type                                                                                  | Required | Description                    |
| :------------------------- | :------------------------------------------------------------------------------------ | :------- | :----------------------------- |
| envelopeId                 | String                                                                                | ✅        |                                |
| addEnvelopeDocumentRequest | [AddEnvelopeDocumentRequest](/api-reference/endpoints/signplus/add-envelope-document) | ✅        | Request Body                   |
| \_filename                 | [String](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)             | ✅        | Filename for the uploaded file |

**Return Type**

`Document`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddEnvelopeDocumentRequest;
import com.alohi.signplus.models.Document;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AddEnvelopeDocumentRequest addEnvelopeDocumentRequest = AddEnvelopeDocumentRequest.builder().file(file).build();
    AddEnvelopeDocumentRequest addEnvelopeDocumentRequest = AddEnvelopeDocumentRequest.builder().file(file).build();

    Document response = signplus.signplus.addEnvelopeDocument(
      "envelope_id",
      addEnvelopeDocumentRequest,
      addEnvelopeDocumentRequest
    );

    System.out.println(response);
  }
}

```

## setEnvelopeDynamicFields

Set envelope dynamic fields

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/dynamic_fields`

**Parameters**

| Name                            | Type                                                                                             | Required | Description  |
| :------------------------------ | :----------------------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                      | String                                                                                           | ✅        |              |
| setEnvelopeDynamicFieldsRequest | [SetEnvelopeDynamicFieldsRequest](/api-reference/endpoints/signplus/set-envelope-dynamic-fields) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.DynamicField;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.SetEnvelopeDynamicFieldsRequest;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    DynamicField dynamicField = DynamicField.builder().name("name").value("value").build();

    List<DynamicField> dynamicFieldsList = Arrays.asList(dynamicField);

    SetEnvelopeDynamicFieldsRequest setEnvelopeDynamicFieldsRequest = SetEnvelopeDynamicFieldsRequest.builder()
      .dynamicFields(dynamicFieldsList)
      .build();

    Envelope response = signplus.signplus.setEnvelopeDynamicFields("envelope_id", setEnvelopeDynamicFieldsRequest);

    System.out.println(response);
  }
}

```

## addEnvelopeSigningSteps

Add envelope signing steps

* HTTP Method: `POST`
* Endpoint: `/envelope/{envelope_id}/signing_steps`

**Parameters**

| Name                           | Type                                                                                           | Required | Description  |
| :----------------------------- | :--------------------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                     | String                                                                                         | ✅        |              |
| addEnvelopeSigningStepsRequest | [AddEnvelopeSigningStepsRequest](/api-reference/endpoints/signplus/add-envelope-signing-steps) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddEnvelopeSigningStepsRequest;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.Recipient;
import com.alohi.signplus.models.RecipientRole;
import com.alohi.signplus.models.RecipientVerification;
import com.alohi.signplus.models.RecipientVerificationType;
import com.alohi.signplus.models.SigningStep;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    RecipientVerification recipientVerification = RecipientVerification.builder()
      .type(RecipientVerificationType.SMS)
      .value("value")
      .build();

    Recipient recipient = Recipient.builder()
      .id("id")
      .uid("uid")
      .name("name")
      .email("email")
      .role(RecipientRole.SIGNER)
      .verification(recipientVerification)
      .build();

    List<Recipient> recipientsList = Arrays.asList(recipient);

    SigningStep signingStep = SigningStep.builder().recipients(recipientsList).build();

    List<SigningStep> signingStepsList = Arrays.asList(signingStep);

    AddEnvelopeSigningStepsRequest addEnvelopeSigningStepsRequest = AddEnvelopeSigningStepsRequest.builder()
      .signingSteps(signingStepsList)
      .build();

    Envelope response = signplus.signplus.addEnvelopeSigningSteps("envelope_id", addEnvelopeSigningStepsRequest);

    System.out.println(response);
  }
}

```

## setEnvelopeAttachmentsSettings

Set envelope attachment settings

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/attachments/settings`

**Parameters**

| Name                                  | Type                                                                                                        | Required | Description  |
| :------------------------------------ | :---------------------------------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                            | String                                                                                                      | ✅        |              |
| setEnvelopeAttachmentsSettingsRequest | [SetEnvelopeAttachmentsSettingsRequest](/api-reference/endpoints/signplus/set-envelope-attachment-settings) | ✅        | Request Body |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AttachmentSettings;
import com.alohi.signplus.models.EnvelopeAttachments;
import com.alohi.signplus.models.SetEnvelopeAttachmentsSettingsRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AttachmentSettings attachmentSettings = AttachmentSettings.builder().visibleToRecipients(false).build();

    SetEnvelopeAttachmentsSettingsRequest setEnvelopeAttachmentsSettingsRequest =
      SetEnvelopeAttachmentsSettingsRequest.builder().settings(attachmentSettings).build();

    EnvelopeAttachments response = signplus.signplus.setEnvelopeAttachmentsSettings(
      "envelope_id",
      setEnvelopeAttachmentsSettingsRequest
    );

    System.out.println(response);
  }
}

```

## setEnvelopeAttachmentsPlaceholders

Placeholders to be set, completely replacing the existing ones.

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/attachments/placeholders`

**Parameters**

| Name                                      | Type                                                                                                                | Required | Description  |
| :---------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :------- | :----------- |
| envelopeId                                | String                                                                                                              | ✅        |              |
| setEnvelopeAttachmentsPlaceholdersRequest | [SetEnvelopeAttachmentsPlaceholdersRequest](/api-reference/endpoints/signplus/set-envelope-attachment-placeholders) | ✅        | Request Body |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AttachmentPlaceholderRequest;
import com.alohi.signplus.models.EnvelopeAttachments;
import com.alohi.signplus.models.SetEnvelopeAttachmentsPlaceholdersRequest;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AttachmentPlaceholderRequest attachmentPlaceholderRequest = AttachmentPlaceholderRequest.builder()
      .recipientId("recipient_id")
      .id("id")
      .name("name")
      .hint("hint")
      .required(false)
      .multiple(true)
      .build();

    List<AttachmentPlaceholderRequest> placeholdersList = Arrays.asList(attachmentPlaceholderRequest);

    SetEnvelopeAttachmentsPlaceholdersRequest setEnvelopeAttachmentsPlaceholdersRequest =
      SetEnvelopeAttachmentsPlaceholdersRequest.builder().placeholders(placeholdersList).build();

    EnvelopeAttachments response = signplus.signplus.setEnvelopeAttachmentsPlaceholders(
      "envelope_id",
      setEnvelopeAttachmentsPlaceholdersRequest
    );

    System.out.println(response);
  }
}

```

## getAttachmentFile

Get envelope attachment file

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/attachments/{file_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |
| fileId     | String | ✅        |             |

**Return Type**

`byte[]`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    byte[] response = signplus.signplus.getAttachmentFile("envelope_id", "file_id");

    System.out.println(response);
  }
}

```

## sendEnvelope

Send envelope for signature

* HTTP Method: `POST`
* Endpoint: `/envelope/{envelope_id}/send`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Envelope response = signplus.signplus.sendEnvelope("envelope_id");

    System.out.println(response);
  }
}

```

## duplicateEnvelope

Duplicate envelope

* HTTP Method: `POST`
* Endpoint: `/envelope/{envelope_id}/duplicate`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Envelope response = signplus.signplus.duplicateEnvelope("envelope_id");

    System.out.println(response);
  }
}

```

## voidEnvelope

Void envelope

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/void`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| envelopeId | String | ✅        |             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Envelope response = signplus.signplus.voidEnvelope("envelope_id");

    System.out.println(response);
  }
}

```

## renameEnvelope

Rename envelope

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/rename`

**Parameters**

| Name                  | Type                                                                       | Required | Description  |
| :-------------------- | :------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId            | String                                                                     | ✅        |              |
| renameEnvelopeRequest | [RenameEnvelopeRequest](/api-reference/endpoints/signplus/rename-envelope) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.RenameEnvelopeRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    RenameEnvelopeRequest renameEnvelopeRequest = RenameEnvelopeRequest.builder().name("name").build();

    Envelope response = signplus.signplus.renameEnvelope("envelope_id", renameEnvelopeRequest);

    System.out.println(response);
  }
}

```

## setEnvelopeComment

Set envelope comment

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/set_comment`

**Parameters**

| Name                      | Type                                                                                | Required | Description  |
| :------------------------ | :---------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                | String                                                                              | ✅        |              |
| setEnvelopeCommentRequest | [SetEnvelopeCommentRequest](/api-reference/endpoints/signplus/set-envelope-comment) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.SetEnvelopeCommentRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    SetEnvelopeCommentRequest setEnvelopeCommentRequest = SetEnvelopeCommentRequest.builder()
      .comment("comment")
      .build();

    Envelope response = signplus.signplus.setEnvelopeComment("envelope_id", setEnvelopeCommentRequest);

    System.out.println(response);
  }
}

```

## setEnvelopeNotification

Set envelope notification

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/set_notification`

**Parameters**

| Name                 | Type                                                                                | Required | Description  |
| :------------------- | :---------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId           | String                                                                              | ✅        |              |
| envelopeNotification | [EnvelopeNotification](/api-reference/endpoints/signplus/set-envelope-notification) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.EnvelopeNotification;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    EnvelopeNotification envelopeNotification = EnvelopeNotification.builder()
      .subject("subject")
      .message("message")
      .reminderInterval(1L)
      .build();

    Envelope response = signplus.signplus.setEnvelopeNotification("envelope_id", envelopeNotification);

    System.out.println(response);
  }
}

```

## setEnvelopeExpirationDate

Set envelope expiration date

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/set_expiration_date`

**Parameters**

| Name                         | Type                                                                                           | Required | Description  |
| :--------------------------- | :--------------------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                   | String                                                                                         | ✅        |              |
| setEnvelopeExpirationRequest | [SetEnvelopeExpirationRequest](/api-reference/endpoints/signplus/set-envelope-expiration-date) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.SetEnvelopeExpirationRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    SetEnvelopeExpirationRequest setEnvelopeExpirationRequest = SetEnvelopeExpirationRequest.builder()
      .expiresAt(0L)
      .build();

    Envelope response = signplus.signplus.setEnvelopeExpirationDate("envelope_id", setEnvelopeExpirationRequest);

    System.out.println(response);
  }
}

```

## setEnvelopeLegalityLevel

Set envelope legality level

* HTTP Method: `PUT`
* Endpoint: `/envelope/{envelope_id}/set_legality_level`

**Parameters**

| Name                            | Type                                                                                             | Required | Description  |
| :------------------------------ | :----------------------------------------------------------------------------------------------- | :------- | :----------- |
| envelopeId                      | String                                                                                           | ✅        |              |
| setEnvelopeLegalityLevelRequest | [SetEnvelopeLegalityLevelRequest](/api-reference/endpoints/signplus/set-envelope-legality-level) | ✅        | Request Body |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Envelope;
import com.alohi.signplus.models.EnvelopeLegalityLevel;
import com.alohi.signplus.models.SetEnvelopeLegalityLevelRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    SetEnvelopeLegalityLevelRequest setEnvelopeLegalityLevelRequest = SetEnvelopeLegalityLevelRequest.builder()
      .legalityLevel(EnvelopeLegalityLevel.SES)
      .build();

    Envelope response = signplus.signplus.setEnvelopeLegalityLevel("envelope_id", setEnvelopeLegalityLevelRequest);

    System.out.println(response);
  }
}

```

## getEnvelopeAnnotations

Get envelope annotations

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/annotations`

**Parameters**

| Name       | Type   | Required | Description        |
| :--------- | :----- | :------- | :----------------- |
| envelopeId | String | ✅        | ID of the envelope |

**Return Type**

`List&lt;Annotation&gt;`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Annotation;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    List<Annotation> response = signplus.signplus.getEnvelopeAnnotations("envelope_id");

    System.out.println(response);
  }
}

```

## getEnvelopeDocumentAnnotations

Get envelope document annotations

* HTTP Method: `GET`
* Endpoint: `/envelope/{envelope_id}/annotations/{document_id}`

**Parameters**

| Name       | Type   | Required | Description        |
| :--------- | :----- | :------- | :----------------- |
| envelopeId | String | ✅        | ID of the envelope |
| documentId | String | ✅        | ID of document     |

**Return Type**

`ListEnvelopeDocumentAnnotationsResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListEnvelopeDocumentAnnotationsResponse;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListEnvelopeDocumentAnnotationsResponse response = signplus.signplus.getEnvelopeDocumentAnnotations(
      "envelope_id",
      "document_id"
    );

    System.out.println(response);
  }
}

```

## addEnvelopeAnnotation

Add envelope annotation

* HTTP Method: `POST`
* Endpoint: `/envelope/{envelope_id}/annotation`

**Parameters**

| Name                 | Type                                                                              | Required | Description        |
| :------------------- | :-------------------------------------------------------------------------------- | :------- | :----------------- |
| envelopeId           | String                                                                            | ✅        | ID of the envelope |
| addAnnotationRequest | [AddAnnotationRequest](/api-reference/endpoints/signplus/add-envelope-annotation) | ✅        | Request Body       |

**Return Type**

`Annotation`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddAnnotationRequest;
import com.alohi.signplus.models.Annotation;
import com.alohi.signplus.models.AnnotationCheckbox;
import com.alohi.signplus.models.AnnotationCheckboxStyle;
import com.alohi.signplus.models.AnnotationDateTime;
import com.alohi.signplus.models.AnnotationDateTimeFormat;
import com.alohi.signplus.models.AnnotationFont;
import com.alohi.signplus.models.AnnotationFontFamily;
import com.alohi.signplus.models.AnnotationInitials;
import com.alohi.signplus.models.AnnotationSignature;
import com.alohi.signplus.models.AnnotationText;
import com.alohi.signplus.models.AnnotationType;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AnnotationSignature annotationSignature = AnnotationSignature.builder().id("id").build();

    AnnotationInitials annotationInitials = AnnotationInitials.builder().id("id").build();

    AnnotationFont annotationFont = AnnotationFont.builder()
      .family(AnnotationFontFamily.UNKNOWN)
      .italic(true)
      .bold(true)
      .build();

    AnnotationText annotationText = AnnotationText.builder()
      .size(5.96D)
      .color(8.73D)
      .value("value")
      .tooltip("tooltip")
      .dynamicFieldName("dynamic_field_name")
      .font(annotationFont)
      .build();

    AnnotationDateTime annotationDateTime = AnnotationDateTime.builder()
      .size(0.26D)
      .font(annotationFont)
      .color("color")
      .autoFill(true)
      .timezone("timezone")
      .timestamp(1L)
      .format(AnnotationDateTimeFormat.DMY_NUMERIC_SLASH)
      .build();

    AnnotationCheckbox annotationCheckbox = AnnotationCheckbox.builder()
      .checked(true)
      .style(AnnotationCheckboxStyle.CIRCLE_CHECK)
      .build();

    AddAnnotationRequest addAnnotationRequest = AddAnnotationRequest.builder()
      .recipientId("recipient_id")
      .documentId("document_id")
      .page(2L)
      .x(1.99D)
      .y(8.2D)
      .width(4.89D)
      .height(9.43D)
      .required(false)
      .type(AnnotationType.TEXT)
      .signature(annotationSignature)
      .initials(annotationInitials)
      .text(annotationText)
      .datetime(annotationDateTime)
      .checkbox(annotationCheckbox)
      .build();

    Annotation response = signplus.signplus.addEnvelopeAnnotation("envelope_id", addAnnotationRequest);

    System.out.println(response);
  }
}

```

## deleteEnvelopeAnnotation

Delete envelope annotation

* HTTP Method: `DELETE`
* Endpoint: `/envelope/{envelope_id}/annotation/{annotation_id}`

**Parameters**

| Name         | Type   | Required | Description                    |
| :----------- | :----- | :------- | :----------------------------- |
| envelopeId   | String | ✅        | ID of the envelope             |
| annotationId | String | ✅        | ID of the annotation to delete |

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    signplus.signplus.deleteEnvelopeAnnotation("envelope_id", "annotation_id");
  }
}

```

## createTemplate

Create new template

* HTTP Method: `POST`
* Endpoint: `/template`

**Parameters**

| Name                  | Type                                                                           | Required | Description  |
| :-------------------- | :----------------------------------------------------------------------------- | :------- | :----------- |
| createTemplateRequest | [CreateTemplateRequest](/api-reference/endpoints/signplus/create-new-template) | ✅        | Request Body |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.CreateTemplateRequest;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    CreateTemplateRequest createTemplateRequest = CreateTemplateRequest.builder().name("name").build();

    Template response = signplus.signplus.createTemplate(createTemplateRequest);

    System.out.println(response);
  }
}

```

## listTemplates

List templates

* HTTP Method: `POST`
* Endpoint: `/templates`

**Parameters**

| Name                 | Type                                                                     | Required | Description  |
| :------------------- | :----------------------------------------------------------------------- | :------- | :----------- |
| listTemplatesRequest | [ListTemplatesRequest](/api-reference/endpoints/signplus/list-templates) | ❌        | Request Body |

**Return Type**

`ListTemplatesResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListTemplatesRequest;
import com.alohi.signplus.models.ListTemplatesResponse;
import com.alohi.signplus.models.TemplateOrderField;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    List<String> tagsList = Arrays.asList("tags");

    List<String> idsList = Arrays.asList("ids");

    ListTemplatesRequest listTemplatesRequest = ListTemplatesRequest.builder()
      .name("name")
      .tags(tagsList)
      .ids(idsList)
      .first(1L)
      .last(6L)
      .after("after")
      .before("before")
      .orderField(TemplateOrderField.TEMPLATE_ID)
      .ascending(false)
      .build();

    ListTemplatesResponse response = signplus.signplus.listTemplates(listTemplatesRequest);

    System.out.println(response);
  }
}

```

## getTemplate

Get template

* HTTP Method: `GET`
* Endpoint: `/template/{template_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| templateId | String | ✅        |             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Template response = signplus.signplus.getTemplate("template_id");

    System.out.println(response);
  }
}

```

## deleteTemplate

Delete template

* HTTP Method: `DELETE`
* Endpoint: `/template/{template_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| templateId | String | ✅        |             |

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    signplus.signplus.deleteTemplate("template_id");
  }
}

```

## duplicateTemplate

Duplicate template

* HTTP Method: `POST`
* Endpoint: `/template/{template_id}/duplicate`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| templateId | String | ✅        |             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Template response = signplus.signplus.duplicateTemplate("template_id");

    System.out.println(response);
  }
}

```

## addTemplateDocument

Add template document

* HTTP Method: `POST`
* Endpoint: `/template/{template_id}/document`

**Parameters**

| Name                       | Type                                                                                  | Required | Description                    |
| :------------------------- | :------------------------------------------------------------------------------------ | :------- | :----------------------------- |
| templateId                 | String                                                                                | ✅        |                                |
| addTemplateDocumentRequest | [AddTemplateDocumentRequest](/api-reference/endpoints/signplus/add-template-document) | ✅        | Request Body                   |
| \_filename                 | [String](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)             | ✅        | Filename for the uploaded file |

**Return Type**

`Document`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddTemplateDocumentRequest;
import com.alohi.signplus.models.Document;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AddTemplateDocumentRequest addTemplateDocumentRequest = AddTemplateDocumentRequest.builder().file(file).build();
    AddTemplateDocumentRequest addTemplateDocumentRequest = AddTemplateDocumentRequest.builder().file(file).build();

    Document response = signplus.signplus.addTemplateDocument(
      "template_id",
      addTemplateDocumentRequest,
      addTemplateDocumentRequest
    );

    System.out.println(response);
  }
}

```

## getTemplateDocument

Get template document

* HTTP Method: `GET`
* Endpoint: `/template/{template_id}/document/{document_id}`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| templateId | String | ✅        |             |
| documentId | String | ✅        |             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.Document;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    Document response = signplus.signplus.getTemplateDocument("template_id", "document_id");

    System.out.println(response);
  }
}

```

## getTemplateDocuments

Get template documents

* HTTP Method: `GET`
* Endpoint: `/template/{template_id}/documents`

**Parameters**

| Name       | Type   | Required | Description |
| :--------- | :----- | :------- | :---------- |
| templateId | String | ✅        |             |

**Return Type**

`ListTemplateDocumentsResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListTemplateDocumentsResponse;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListTemplateDocumentsResponse response = signplus.signplus.getTemplateDocuments("template_id");

    System.out.println(response);
  }
}

```

## addTemplateSigningSteps

Add template signing steps

* HTTP Method: `POST`
* Endpoint: `/template/{template_id}/signing_steps`

**Parameters**

| Name                           | Type                                                                                           | Required | Description  |
| :----------------------------- | :--------------------------------------------------------------------------------------------- | :------- | :----------- |
| templateId                     | String                                                                                         | ✅        |              |
| addTemplateSigningStepsRequest | [AddTemplateSigningStepsRequest](/api-reference/endpoints/signplus/add-template-signing-steps) | ✅        | Request Body |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddTemplateSigningStepsRequest;
import com.alohi.signplus.models.Template;
import com.alohi.signplus.models.TemplateRecipient;
import com.alohi.signplus.models.TemplateRecipientRole;
import com.alohi.signplus.models.TemplateSigningStep;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    TemplateRecipient templateRecipient = TemplateRecipient.builder()
      .id("id")
      .uid("uid")
      .name("name")
      .email("email")
      .role(TemplateRecipientRole.SIGNER)
      .build();

    List<TemplateRecipient> recipientsList = Arrays.asList(templateRecipient);

    TemplateSigningStep templateSigningStep = TemplateSigningStep.builder().recipients(recipientsList).build();

    List<TemplateSigningStep> signingStepsList = Arrays.asList(templateSigningStep);

    AddTemplateSigningStepsRequest addTemplateSigningStepsRequest = AddTemplateSigningStepsRequest.builder()
      .signingSteps(signingStepsList)
      .build();

    Template response = signplus.signplus.addTemplateSigningSteps("template_id", addTemplateSigningStepsRequest);

    System.out.println(response);
  }
}

```

## renameTemplate

Rename template

* HTTP Method: `PUT`
* Endpoint: `/template/{template_id}/rename`

**Parameters**

| Name                  | Type                                                                       | Required | Description  |
| :-------------------- | :------------------------------------------------------------------------- | :------- | :----------- |
| templateId            | String                                                                     | ✅        |              |
| renameTemplateRequest | [RenameTemplateRequest](/api-reference/endpoints/signplus/rename-template) | ✅        | Request Body |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.RenameTemplateRequest;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    RenameTemplateRequest renameTemplateRequest = RenameTemplateRequest.builder().name("name").build();

    Template response = signplus.signplus.renameTemplate("template_id", renameTemplateRequest);

    System.out.println(response);
  }
}

```

## setTemplateComment

Set template comment

* HTTP Method: `PUT`
* Endpoint: `/template/{template_id}/set_comment`

**Parameters**

| Name                      | Type                                                                                | Required | Description  |
| :------------------------ | :---------------------------------------------------------------------------------- | :------- | :----------- |
| templateId                | String                                                                              | ✅        |              |
| setTemplateCommentRequest | [SetTemplateCommentRequest](/api-reference/endpoints/signplus/set-template-comment) | ✅        | Request Body |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.SetTemplateCommentRequest;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    SetTemplateCommentRequest setTemplateCommentRequest = SetTemplateCommentRequest.builder()
      .comment("comment")
      .build();

    Template response = signplus.signplus.setTemplateComment("template_id", setTemplateCommentRequest);

    System.out.println(response);
  }
}

```

## setTemplateNotification

Set template notification

* HTTP Method: `PUT`
* Endpoint: `/template/{template_id}/set_notification`

**Parameters**

| Name                 | Type                                                                                | Required | Description  |
| :------------------- | :---------------------------------------------------------------------------------- | :------- | :----------- |
| templateId           | String                                                                              | ✅        |              |
| envelopeNotification | [EnvelopeNotification](/api-reference/endpoints/signplus/set-envelope-notification) | ✅        | Request Body |

**Return Type**

`Template`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.EnvelopeNotification;
import com.alohi.signplus.models.Template;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    EnvelopeNotification envelopeNotification = EnvelopeNotification.builder()
      .subject("subject")
      .message("message")
      .reminderInterval(1L)
      .build();

    Template response = signplus.signplus.setTemplateNotification("template_id", envelopeNotification);

    System.out.println(response);
  }
}

```

## getTemplateAnnotations

Get template annotations

* HTTP Method: `GET`
* Endpoint: `/template/{template_id}/annotations`

**Parameters**

| Name       | Type   | Required | Description        |
| :--------- | :----- | :------- | :----------------- |
| templateId | String | ✅        | ID of the template |

**Return Type**

`ListTemplateAnnotationsResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListTemplateAnnotationsResponse;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListTemplateAnnotationsResponse response = signplus.signplus.getTemplateAnnotations("template_id");

    System.out.println(response);
  }
}

```

## getDocumentTemplateAnnotations

Get document template annotations

* HTTP Method: `GET`
* Endpoint: `/template/{template_id}/annotations/{document_id}`

**Parameters**

| Name       | Type   | Required | Description        |
| :--------- | :----- | :------- | :----------------- |
| templateId | String | ✅        | ID of the template |
| documentId | String | ✅        | ID of document     |

**Return Type**

`ListTemplateDocumentAnnotationsResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListTemplateDocumentAnnotationsResponse;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListTemplateDocumentAnnotationsResponse response = signplus.signplus.getDocumentTemplateAnnotations(
      "template_id",
      "document_id"
    );

    System.out.println(response);
  }
}

```

## addTemplateAnnotation

Add template annotation

* HTTP Method: `POST`
* Endpoint: `/template/{template_id}/annotation`

**Parameters**

| Name                 | Type                                                                              | Required | Description        |
| :------------------- | :-------------------------------------------------------------------------------- | :------- | :----------------- |
| templateId           | String                                                                            | ✅        | ID of the template |
| addAnnotationRequest | [AddAnnotationRequest](/api-reference/endpoints/signplus/add-envelope-annotation) | ✅        | Request Body       |

**Return Type**

`Annotation`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AddAnnotationRequest;
import com.alohi.signplus.models.Annotation;
import com.alohi.signplus.models.AnnotationCheckbox;
import com.alohi.signplus.models.AnnotationCheckboxStyle;
import com.alohi.signplus.models.AnnotationDateTime;
import com.alohi.signplus.models.AnnotationDateTimeFormat;
import com.alohi.signplus.models.AnnotationFont;
import com.alohi.signplus.models.AnnotationFontFamily;
import com.alohi.signplus.models.AnnotationInitials;
import com.alohi.signplus.models.AnnotationSignature;
import com.alohi.signplus.models.AnnotationText;
import com.alohi.signplus.models.AnnotationType;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AnnotationSignature annotationSignature = AnnotationSignature.builder().id("id").build();

    AnnotationInitials annotationInitials = AnnotationInitials.builder().id("id").build();

    AnnotationFont annotationFont = AnnotationFont.builder()
      .family(AnnotationFontFamily.UNKNOWN)
      .italic(true)
      .bold(true)
      .build();

    AnnotationText annotationText = AnnotationText.builder()
      .size(5.96D)
      .color(8.73D)
      .value("value")
      .tooltip("tooltip")
      .dynamicFieldName("dynamic_field_name")
      .font(annotationFont)
      .build();

    AnnotationDateTime annotationDateTime = AnnotationDateTime.builder()
      .size(0.26D)
      .font(annotationFont)
      .color("color")
      .autoFill(true)
      .timezone("timezone")
      .timestamp(1L)
      .format(AnnotationDateTimeFormat.DMY_NUMERIC_SLASH)
      .build();

    AnnotationCheckbox annotationCheckbox = AnnotationCheckbox.builder()
      .checked(true)
      .style(AnnotationCheckboxStyle.CIRCLE_CHECK)
      .build();

    AddAnnotationRequest addAnnotationRequest = AddAnnotationRequest.builder()
      .recipientId("recipient_id")
      .documentId("document_id")
      .page(2L)
      .x(1.99D)
      .y(8.2D)
      .width(4.89D)
      .height(9.43D)
      .required(false)
      .type(AnnotationType.TEXT)
      .signature(annotationSignature)
      .initials(annotationInitials)
      .text(annotationText)
      .datetime(annotationDateTime)
      .checkbox(annotationCheckbox)
      .build();

    Annotation response = signplus.signplus.addTemplateAnnotation("template_id", addAnnotationRequest);

    System.out.println(response);
  }
}

```

## deleteTemplateAnnotation

Delete template annotation

* HTTP Method: `DELETE`
* Endpoint: `/template/{template_id}/annotation/{annotation_id}`

**Parameters**

| Name         | Type   | Required | Description                    |
| :----------- | :----- | :------- | :----------------------------- |
| templateId   | String | ✅        | ID of the template             |
| annotationId | String | ✅        | ID of the annotation to delete |

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    signplus.signplus.deleteTemplateAnnotation("template_id", "annotation_id");
  }
}

```

## setTemplateAttachmentsSettings

Set template attachment settings

* HTTP Method: `PUT`
* Endpoint: `/template/{template_id}/attachments/settings`

**Parameters**

| Name                                  | Type                                                                                                        | Required | Description  |
| :------------------------------------ | :---------------------------------------------------------------------------------------------------------- | :------- | :----------- |
| templateId                            | String                                                                                                      | ✅        |              |
| setEnvelopeAttachmentsSettingsRequest | [SetEnvelopeAttachmentsSettingsRequest](/api-reference/endpoints/signplus/set-envelope-attachment-settings) | ✅        | Request Body |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AttachmentSettings;
import com.alohi.signplus.models.EnvelopeAttachments;
import com.alohi.signplus.models.SetEnvelopeAttachmentsSettingsRequest;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AttachmentSettings attachmentSettings = AttachmentSettings.builder().visibleToRecipients(false).build();

    SetEnvelopeAttachmentsSettingsRequest setEnvelopeAttachmentsSettingsRequest =
      SetEnvelopeAttachmentsSettingsRequest.builder().settings(attachmentSettings).build();

    EnvelopeAttachments response = signplus.signplus.setTemplateAttachmentsSettings(
      "template_id",
      setEnvelopeAttachmentsSettingsRequest
    );

    System.out.println(response);
  }
}

```

## setTemplateAttachmentsPlaceholders

Placeholders to be set, completely replacing the existing ones.

* HTTP Method: `PUT`
* Endpoint: `/template/{template_id}/attachments/placeholders`

**Parameters**

| Name                                      | Type                                                                                                                | Required | Description  |
| :---------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :------- | :----------- |
| templateId                                | String                                                                                                              | ✅        |              |
| setEnvelopeAttachmentsPlaceholdersRequest | [SetEnvelopeAttachmentsPlaceholdersRequest](/api-reference/endpoints/signplus/set-envelope-attachment-placeholders) | ✅        | Request Body |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.AttachmentPlaceholderRequest;
import com.alohi.signplus.models.EnvelopeAttachments;
import com.alohi.signplus.models.SetEnvelopeAttachmentsPlaceholdersRequest;
import java.util.Arrays;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    AttachmentPlaceholderRequest attachmentPlaceholderRequest = AttachmentPlaceholderRequest.builder()
      .recipientId("recipient_id")
      .id("id")
      .name("name")
      .hint("hint")
      .required(false)
      .multiple(true)
      .build();

    List<AttachmentPlaceholderRequest> placeholdersList = Arrays.asList(attachmentPlaceholderRequest);

    SetEnvelopeAttachmentsPlaceholdersRequest setEnvelopeAttachmentsPlaceholdersRequest =
      SetEnvelopeAttachmentsPlaceholdersRequest.builder().placeholders(placeholdersList).build();

    EnvelopeAttachments response = signplus.signplus.setTemplateAttachmentsPlaceholders(
      "template_id",
      setEnvelopeAttachmentsPlaceholdersRequest
    );

    System.out.println(response);
  }
}

```

## createWebhook

Create webhook

* HTTP Method: `POST`
* Endpoint: `/webhook`

**Parameters**

| Name                 | Type                                                                     | Required | Description  |
| :------------------- | :----------------------------------------------------------------------- | :------- | :----------- |
| createWebhookRequest | [CreateWebhookRequest](/api-reference/endpoints/signplus/create-webhook) | ✅        | Request Body |

**Return Type**

`Webhook`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.CreateWebhookRequest;
import com.alohi.signplus.models.Webhook;
import com.alohi.signplus.models.WebhookEvent;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    CreateWebhookRequest createWebhookRequest = CreateWebhookRequest.builder()
      .event(WebhookEvent.ENVELOPE_EXPIRED)
      .target("target")
      .build();

    Webhook response = signplus.signplus.createWebhook(createWebhookRequest);

    System.out.println(response);
  }
}

```

## listWebhooks

List webhooks

* HTTP Method: `POST`
* Endpoint: `/webhooks`

**Parameters**

| Name                | Type                                                                   | Required | Description  |
| :------------------ | :--------------------------------------------------------------------- | :------- | :----------- |
| listWebhooksRequest | [ListWebhooksRequest](/api-reference/endpoints/signplus/list-webhooks) | ❌        | Request Body |

**Return Type**

`ListWebhooksResponse`

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;
import com.alohi.signplus.models.ListWebhooksRequest;
import com.alohi.signplus.models.ListWebhooksResponse;
import com.alohi.signplus.models.WebhookEvent;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    ListWebhooksRequest listWebhooksRequest = ListWebhooksRequest.builder()
      .webhookId("webhook_id")
      .event(WebhookEvent.ENVELOPE_EXPIRED)
      .build();

    ListWebhooksResponse response = signplus.signplus.listWebhooks(listWebhooksRequest);

    System.out.println(response);
  }
}

```

## deleteWebhook

Delete webhook

* HTTP Method: `DELETE`
* Endpoint: `/webhook/{webhook_id}`

**Parameters**

| Name      | Type   | Required | Description |
| :-------- | :----- | :------- | :---------- |
| webhookId | String | ✅        |             |

**Example Usage Code Snippet**

```java theme={null}
import com.alohi.signplus.Signplus;
import com.alohi.signplus.config.SignplusConfig;

public class Main {

  public static void main(String[] args) {
    SignplusConfig config = SignplusConfig.builder().accessToken("YOUR_ACCESS_TOKEN").build();

    Signplus signplus = new Signplus(config);

    signplus.signplus.deleteWebhook("webhook_id");
  }
}

```

# Models

# SetEnvelopeAttachmentsPlaceholdersRequest

**Properties**

| Name         | Type                                       | Required | Description |
| :----------- | :----------------------------------------- | :------- | :---------- |
| placeholders | List\&lt;AttachmentPlaceholderRequest\&gt; | ✅        |             |

# Document

**Properties**

| Name      | Type               | Required | Description                       |
| :-------- | :----------------- | :------- | :-------------------------------- |
| id        | String             | ❌        | Unique identifier of the document |
| name      | String             | ❌        | Name of the document              |
| filename  | String             | ❌        | Filename of the document          |
| pageCount | Long               | ❌        | Number of pages in the document   |
| pages     | List\&lt;Page\&gt; | ❌        | List of pages in the document     |

# CreateEnvelopeRequest

**Properties**

| Name          | Type                  | Required | Description                                                                                                                                                               |
| :------------ | :-------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| name          | String                | ✅        | Name of the envelope                                                                                                                                                      |
| legalityLevel | EnvelopeLegalityLevel | ✅        | Legal level of the envelope (SES is Simple Electronic Signature, QES\_EIDAS is Qualified Electronic Signature, QES\_ZERTES is Qualified Electronic Signature with Zertes) |
| expiresAt     | Long                  | ❌        | Unix timestamp of the expiration date                                                                                                                                     |
| comment       | String                | ❌        | Comment for the envelope                                                                                                                                                  |
| sandbox       | Boolean               | ❌        | Whether the envelope is created in sandbox mode                                                                                                                           |

# ListEnvelopesRequest

**Properties**

| Name           | Type                         | Required | Description                                       |
| :------------- | :--------------------------- | :------- | :------------------------------------------------ |
| name           | String                       | ❌        | Name of the envelope                              |
| tags           | List\&lt;String\&gt;         | ❌        | List of tags                                      |
| comment        | String                       | ❌        | Comment of the envelope                           |
| ids            | List\&lt;String\&gt;         | ❌        | List of envelope IDs                              |
| statuses       | List\&lt;EnvelopeStatus\&gt; | ❌        | List of envelope statuses                         |
| folderIds      | List\&lt;String\&gt;         | ❌        | List of folder IDs                                |
| onlyRootFolder | Boolean                      | ❌        | Whether to only list envelopes in the root folder |
| dateFrom       | Long                         | ❌        | Unix timestamp of the start date                  |
| dateTo         | Long                         | ❌        | Unix timestamp of the end date                    |
| uid            | String                       | ❌        | Unique identifier of the user                     |
| first          | Long                         | ❌        |                                                   |
| last           | Long                         | ❌        |                                                   |
| after          | String                       | ❌        |                                                   |
| before         | String                       | ❌        |                                                   |
| orderField     | EnvelopeOrderField           | ❌        | Field to order envelopes by                       |
| ascending      | Boolean                      | ❌        | Whether to order envelopes in ascending order     |
| includeTrash   | Boolean                      | ❌        | Whether to include envelopes in the trash         |

# AttachmentPlaceholder

**Properties**

| Name        | Type                                    | Required | Description                                                |
| :---------- | :-------------------------------------- | :------- | :--------------------------------------------------------- |
| recipientId | String                                  | ❌        | ID of the recipient                                        |
| id          | String                                  | ❌        | ID of the attachment placeholder                           |
| name        | String                                  | ❌        | Name of the attachment placeholder                         |
| hint        | String                                  | ❌        | Hint of the attachment placeholder                         |
| required    | Boolean                                 | ❌        | Whether the attachment placeholder is required             |
| multiple    | Boolean                                 | ❌        | Whether the attachment placeholder can have multiple files |
| files       | List\&lt;AttachmentPlaceholderFile\&gt; | ❌        |                                                            |

# SetEnvelopeAttachmentsSettingsRequest

**Properties**

| Name     | Type               | Required | Description |
| :------- | :----------------- | :------- | :---------- |
| settings | AttachmentSettings | ✅        |             |

# EnvelopeNotification

**Properties**

| Name             | Type   | Required | Description                       |
| :--------------- | :----- | :------- | :-------------------------------- |
| subject          | String | ❌        | Subject of the notification       |
| message          | String | ❌        | Message of the notification       |
| reminderInterval | Long   | ❌        | Interval in days to send reminder |

# ListTemplatesRequest

**Properties**

| Name       | Type                 | Required | Description                                   |
| :--------- | :------------------- | :------- | :-------------------------------------------- |
| name       | String               | ❌        | Name of the template                          |
| tags       | List\&lt;String\&gt; | ❌        | List of tag templates                         |
| ids        | List\&lt;String\&gt; | ❌        | List of templates IDs                         |
| first      | Long                 | ❌        |                                               |
| last       | Long                 | ❌        |                                               |
| after      | String               | ❌        |                                               |
| before     | String               | ❌        |                                               |
| orderField | TemplateOrderField   | ❌        | Field to order templates by                   |
| ascending  | Boolean              | ❌        | Whether to order templates in ascending order |

# SetTemplateCommentRequest

**Properties**

| Name    | Type   | Required | Description              |
| :------ | :----- | :------- | :----------------------- |
| comment | String | ✅        | Comment for the template |

# Template

**Properties**

| Name            | Type                              | Required | Description                                                                                                                                                               |
| :-------------- | :-------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| id              | String                            | ❌        | Unique identifier of the template                                                                                                                                         |
| name            | String                            | ❌        | Name of the template                                                                                                                                                      |
| comment         | String                            | ❌        | Comment for the template                                                                                                                                                  |
| pages           | Long                              | ❌        | Total number of pages in the template                                                                                                                                     |
| legalityLevel   | EnvelopeLegalityLevel             | ❌        | Legal level of the envelope (SES is Simple Electronic Signature, QES\_EIDAS is Qualified Electronic Signature, QES\_ZERTES is Qualified Electronic Signature with Zertes) |
| createdAt       | Long                              | ❌        | Unix timestamp of the creation date                                                                                                                                       |
| updatedAt       | Long                              | ❌        | Unix timestamp of the last modification date                                                                                                                              |
| expirationDelay | Long                              | ❌        | Expiration delay added to the current time when an envelope is created from this template                                                                                 |
| numRecipients   | Long                              | ❌        | Number of recipients in the envelope                                                                                                                                      |
| signingSteps    | List\&lt;TemplateSigningStep\&gt; | ❌        |                                                                                                                                                                           |
| documents       | List\&lt;Document\&gt;            | ❌        |                                                                                                                                                                           |
| notification    | EnvelopeNotification              | ❌        |                                                                                                                                                                           |
| dynamicFields   | List\&lt;String\&gt;              | ❌        | List of dynamic fields                                                                                                                                                    |
| attachments     | EnvelopeAttachments               | ❌        |                                                                                                                                                                           |

# RecipientVerificationType

Type of verification the recipient must complete before accessing the envelope. - `PASSCODE`: requires a code to be entered. - `SMS`: sends a code via SMS. - `ID_VERIFICATION`: prompts the recipient to complete an automated ID and selfie check.

**Properties**

| Name             | Type   | Required | Description        |
| :--------------- | :----- | :------- | :----------------- |
| SMS              | String | ✅        | "SMS"              |
| PASSCODE         | String | ✅        | "PASSCODE"         |
| ID\_VERIFICATION | String | ✅        | "ID\_VERIFICATION" |

# AddEnvelopeSigningStepsRequest

**Properties**

| Name         | Type                      | Required | Description           |
| :----------- | :------------------------ | :------- | :-------------------- |
| signingSteps | List\&lt;SigningStep\&gt; | ❌        | List of signing steps |

# AnnotationFontFamily

Font family of the text

**Properties**

| Name    | Type   | Required | Description |
| :------ | :----- | :------- | :---------- |
| UNKNOWN | String | ✅        | "UNKNOWN"   |
| SERIF   | String | ✅        | "SERIF"     |
| SANS    | String | ✅        | "SANS"      |
| MONO    | String | ✅        | "MONO"      |

# AddTemplateSigningStepsRequest

**Properties**

| Name         | Type                              | Required | Description           |
| :----------- | :-------------------------------- | :------- | :-------------------- |
| signingSteps | List\&lt;TemplateSigningStep\&gt; | ✅        | List of signing steps |

# SetEnvelopeCommentRequest

**Properties**

| Name    | Type   | Required | Description              |
| :------ | :----- | :------- | :----------------------- |
| comment | String | ✅        | Comment for the envelope |

# TemplateOrderField

Field to order templates by

**Properties**

| Name                         | Type   | Required | Description                    |
| :--------------------------- | :----- | :------- | :----------------------------- |
| TEMPLATE\_ID                 | String | ✅        | "TEMPLATE\_ID"                 |
| TEMPLATE\_CREATION\_DATE     | String | ✅        | "TEMPLATE\_CREATION\_DATE"     |
| TEMPLATE\_MODIFICATION\_DATE | String | ✅        | "TEMPLATE\_MODIFICATION\_DATE" |
| TEMPLATE\_NAME               | String | ✅        | "TEMPLATE\_NAME"               |

# EnvelopeOrderField

Field to order envelopes by

**Properties**

| Name                   | Type   | Required | Description              |
| :--------------------- | :----- | :------- | :----------------------- |
| CREATION\_DATE         | String | ✅        | "CREATION\_DATE"         |
| MODIFICATION\_DATE     | String | ✅        | "MODIFICATION\_DATE"     |
| NAME                   | String | ✅        | "NAME"                   |
| STATUS                 | String | ✅        | "STATUS"                 |
| LAST\_DOCUMENT\_CHANGE | String | ✅        | "LAST\_DOCUMENT\_CHANGE" |

# AddEnvelopeDocumentRequest

**Properties**

| Name | Type    | Required | Description                     |
| :--- | :------ | :------- | :------------------------------ |
| file | byte\[] | ❌        | File to upload in binary format |

# ListWebhooksRequest

**Properties**

| Name      | Type         | Required | Description          |
| :-------- | :----------- | :------- | :------------------- |
| webhookId | String       | ❌        | ID of the webhook    |
| event     | WebhookEvent | ❌        | Event of the webhook |

# SetEnvelopeLegalityLevelRequest

**Properties**

| Name          | Type                  | Required | Description                                                                                                                                                               |
| :------------ | :-------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| legalityLevel | EnvelopeLegalityLevel | ❌        | Legal level of the envelope (SES is Simple Electronic Signature, QES\_EIDAS is Qualified Electronic Signature, QES\_ZERTES is Qualified Electronic Signature with Zertes) |

# AttachmentPlaceholderFile

**Properties**

| Name     | Type   | Required | Description               |
| :------- | :----- | :------- | :------------------------ |
| id       | String | ❌        | ID of the file            |
| name     | String | ❌        | Name of the file          |
| size     | Long   | ❌        | Size of the file in bytes |
| mimetype | String | ❌        | MIME type of the file     |

# SetEnvelopeExpirationRequest

**Properties**

| Name      | Type | Required | Description                           |
| :-------- | :--- | :------- | :------------------------------------ |
| expiresAt | Long | ✅        | Unix timestamp of the expiration date |

# AnnotationText

Text annotation (null if annotation is not a text)

**Properties**

| Name             | Type           | Required | Description                        |
| :--------------- | :------------- | :------- | :--------------------------------- |
| size             | Double         | ❌        | Font size of the text in pt        |
| color            | Double         | ❌        | Text color in 32bit representation |
| value            | String         | ❌        | Text content of the annotation     |
| tooltip          | String         | ❌        | Tooltip of the annotation          |
| dynamicFieldName | String         | ❌        | Name of the dynamic field          |
| font             | AnnotationFont | ❌        |                                    |

# AnnotationCheckbox

Checkbox annotation (null if annotation is not a checkbox)

**Properties**

| Name    | Type                    | Required | Description                     |
| :------ | :---------------------- | :------- | :------------------------------ |
| checked | Boolean                 | ❌        | Whether the checkbox is checked |
| style   | AnnotationCheckboxStyle | ❌        | Style of the checkbox           |

# Envelope

**Properties**

| Name          | Type                      | Required | Description                                                                                                                                                               |
| :------------ | :------------------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| id            | String                    | ❌        | Unique identifier of the envelope                                                                                                                                         |
| name          | String                    | ❌        | Name of the envelope                                                                                                                                                      |
| comment       | String                    | ❌        | Comment for the envelope                                                                                                                                                  |
| pages         | Long                      | ❌        | Total number of pages in the envelope                                                                                                                                     |
| flowType      | EnvelopeFlowType          | ❌        | Flow type of the envelope (REQUEST\_SIGNATURE is a request for signature, SIGN\_MYSELF is a self-signing flow)                                                            |
| legalityLevel | EnvelopeLegalityLevel     | ❌        | Legal level of the envelope (SES is Simple Electronic Signature, QES\_EIDAS is Qualified Electronic Signature, QES\_ZERTES is Qualified Electronic Signature with Zertes) |
| status        | EnvelopeStatus            | ❌        | Status of the envelope                                                                                                                                                    |
| createdAt     | Long                      | ❌        | Unix timestamp of the creation date                                                                                                                                       |
| updatedAt     | Long                      | ❌        | Unix timestamp of the last modification date                                                                                                                              |
| expiresAt     | Long                      | ❌        | Unix timestamp of the expiration date                                                                                                                                     |
| numRecipients | Long                      | ❌        | Number of recipients in the envelope                                                                                                                                      |
| isDuplicable  | Boolean                   | ❌        | Whether the envelope can be duplicated                                                                                                                                    |
| signingSteps  | List\&lt;SigningStep\&gt; | ❌        |                                                                                                                                                                           |
| documents     | List\&lt;Document\&gt;    | ❌        |                                                                                                                                                                           |
| notification  | EnvelopeNotification      | ❌        |                                                                                                                                                                           |
| attachments   | EnvelopeAttachments       | ❌        |                                                                                                                                                                           |

# AddTemplateDocumentRequest

**Properties**

| Name | Type    | Required | Description                     |
| :--- | :------ | :------- | :------------------------------ |
| file | byte\[] | ✅        | File to upload in binary format |

# TemplateRecipient

**Properties**

| Name  | Type                  | Required | Description                                                                                                                                                                   |
| :---- | :-------------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id    | String                | ❌        | Unique identifier of the recipient                                                                                                                                            |
| uid   | String                | ❌        | Unique identifier of the user associated with the recipient                                                                                                                   |
| name  | String                | ❌        | Name of the recipient                                                                                                                                                         |
| email | String                | ❌        | Email of the recipient                                                                                                                                                        |
| role  | TemplateRecipientRole | ❌        | Role of the recipient (SIGNER signs the document, RECEIVES\_COPY receives a copy of the document, IN\_PERSON\_SIGNER signs the document in person, SENDER sends the document) |

# AddAnnotationRequest

**Properties**

| Name        | Type                | Required | Description                                                                                     |
| :---------- | :------------------ | :------- | :---------------------------------------------------------------------------------------------- |
| documentId  | String              | ✅        | ID of the document                                                                              |
| page        | Long                | ✅        | Page number where the annotation is placed                                                      |
| x           | Double              | ✅        | X coordinate of the annotation (in % of the page width from 0 to 100) from the top left corner  |
| y           | Double              | ✅        | Y coordinate of the annotation (in % of the page height from 0 to 100) from the top left corner |
| width       | Double              | ✅        | Width of the annotation (in % of the page width from 0 to 100)                                  |
| height      | Double              | ✅        | Height of the annotation (in % of the page height from 0 to 100)                                |
| type        | AnnotationType      | ✅        | Type of the annotation                                                                          |
| recipientId | String              | ❌        | ID of the recipient                                                                             |
| required    | Boolean             | ❌        |                                                                                                 |
| signature   | AnnotationSignature | ❌        | Signature annotation (null if annotation is not a signature)                                    |
| initials    | AnnotationInitials  | ❌        | Initials annotation (null if annotation is not initials)                                        |
| text        | AnnotationText      | ❌        | Text annotation (null if annotation is not a text)                                              |
| datetime    | AnnotationDateTime  | ❌        | Date annotation (null if annotation is not a date)                                              |
| checkbox    | AnnotationCheckbox  | ❌        | Checkbox annotation (null if annotation is not a checkbox)                                      |

# ListEnvelopeDocumentAnnotationsResponse

**Properties**

| Name        | Type                     | Required | Description |
| :---------- | :----------------------- | :------- | :---------- |
| annotations | List\&lt;Annotation\&gt; | ❌        |             |

# EnvelopeStatus

Status of the envelope

**Properties**

| Name         | Type   | Required | Description    |
| :----------- | :----- | :------- | :------------- |
| DRAFT        | String | ✅        | "DRAFT"        |
| IN\_PROGRESS | String | ✅        | "IN\_PROGRESS" |
| COMPLETED    | String | ✅        | "COMPLETED"    |
| EXPIRED      | String | ✅        | "EXPIRED"      |
| DECLINED     | String | ✅        | "DECLINED"     |
| VOIDED       | String | ✅        | "VOIDED"       |
| PENDING      | String | ✅        | "PENDING"      |

# RecipientVerification

**Properties**

| Name  | Type                      | Required | Description                                                                                                                                                                                                                                          |
| :---- | :------------------------ | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type  | RecipientVerificationType | ❌        | Type of verification the recipient must complete before accessing the envelope. - `PASSCODE`: requires a code to be entered. - `SMS`: sends a code via SMS. - `ID_VERIFICATION`: prompts the recipient to complete an automated ID and selfie check. |
| value | String                    | ❌        | Required for `PASSCODE` and `SMS` verification. - `PASSCODE`: code required by the recipient to sign the document. - `SMS`: recipient's phone number. - `ID_VERIFICATION`: leave empty.                                                              |

# AnnotationCheckboxStyle

Style of the checkbox

**Properties**

| Name          | Type   | Required | Description     |
| :------------ | :----- | :------- | :-------------- |
| CIRCLE\_CHECK | String | ✅        | "CIRCLE\_CHECK" |
| CIRCLE\_FULL  | String | ✅        | "CIRCLE\_FULL"  |
| SQUARE\_CHECK | String | ✅        | "SQUARE\_CHECK" |
| SQUARE\_FULL  | String | ✅        | "SQUARE\_FULL"  |
| CHECK\_MARK   | String | ✅        | "CHECK\_MARK"   |
| TIMES\_SQUARE | String | ✅        | "TIMES\_SQUARE" |

# SigningStep

**Properties**

| Name       | Type                    | Required | Description        |
| :--------- | :---------------------- | :------- | :----------------- |
| recipients | List\&lt;Recipient\&gt; | ❌        | List of recipients |

# AnnotationDateTime

Date annotation (null if annotation is not a date)

**Properties**

| Name      | Type                     | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| :-------- | :----------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| size      | Double                   | ❌        | Font size of the text in pt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| font      | AnnotationFont           | ❌        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| color     | String                   | ❌        | Color of the text in hex format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| autoFill  | Boolean                  | ❌        | Whether the date should be automatically filled                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| timezone  | String                   | ❌        | Timezone of the date                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| timestamp | Long                     | ❌        | Unix timestamp of the date                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| format    | AnnotationDateTimeFormat | ❌        | Format of the date time (DMY\_NUMERIC\_SLASH is day/month/year with slashes, MDY\_NUMERIC\_SLASH is month/day/year with slashes, YMD\_NUMERIC\_SLASH is year/month/day with slashes, DMY\_NUMERIC\_DASH\_SHORT is day/month/year with dashes, DMY\_NUMERIC\_DASH is day/month/year with dashes, YMD\_NUMERIC\_DASH is year/month/day with dashes, MDY\_TEXT\_DASH\_SHORT is month/day/year with dashes, MDY\_TEXT\_SPACE\_SHORT is month/day/year with spaces, MDY\_TEXT\_SPACE is month/day/year with spaces) |

# DownloadEnvelopeSignedDocumentsParameters

**Properties**

| Name                    | Type    | Required | Description                                                             |
| :---------------------- | :------ | :------- | :---------------------------------------------------------------------- |
| certificateOfCompletion | Boolean | ❌        | Whether to include the certificate of completion in the downloaded file |

# AttachmentSettings

**Properties**

| Name                | Type    | Required | Description                                         |
| :------------------ | :------ | :------- | :-------------------------------------------------- |
| visibleToRecipients | Boolean | ❌        | Whether the attachment is visible to the recipients |

# CreateTemplateRequest

**Properties**

| Name | Type   | Required | Description |
| :--- | :----- | :------- | :---------- |
| name | String | ✅        |             |

# ListTemplateDocumentsResponse

**Properties**

| Name      | Type                   | Required | Description |
| :-------- | :--------------------- | :------- | :---------- |
| documents | List\&lt;Document\&gt; | ❌        |             |

# AnnotationInitials

Initials annotation (null if annotation is not initials)

**Properties**

| Name | Type   | Required | Description                                  |
| :--- | :----- | :------- | :------------------------------------------- |
| id   | String | ❌        | Unique identifier of the annotation initials |

# AnnotationFont

**Properties**

| Name   | Type                 | Required | Description                |
| :----- | :------------------- | :------- | :------------------------- |
| family | AnnotationFontFamily | ❌        | Font family of the text    |
| italic | Boolean              | ❌        | Whether the text is italic |
| bold   | Boolean              | ❌        | Whether the text is bold   |

# AnnotationType

Type of the annotation

**Properties**

| Name      | Type   | Required | Description |
| :-------- | :----- | :------- | :---------- |
| TEXT      | String | ✅        | "TEXT"      |
| SIGNATURE | String | ✅        | "SIGNATURE" |
| INITIALS  | String | ✅        | "INITIALS"  |
| CHECKBOX  | String | ✅        | "CHECKBOX"  |
| DATE      | String | ✅        | "DATE"      |

# Webhook

**Properties**

| Name   | Type         | Required | Description                      |
| :----- | :----------- | :------- | :------------------------------- |
| id     | String       | ❌        | Unique identifier of the webhook |
| event  | WebhookEvent | ❌        | Event of the webhook             |
| target | String       | ❌        | Target URL of the webhook        |

# RenameTemplateRequest

**Properties**

| Name | Type   | Required | Description          |
| :--- | :----- | :------- | :------------------- |
| name | String | ✅        | Name of the template |

# ListTemplatesResponse

**Properties**

| Name            | Type                   | Required | Description                      |
| :-------------- | :--------------------- | :------- | :------------------------------- |
| hasNextPage     | Boolean                | ❌        | Whether there is a next page     |
| hasPreviousPage | Boolean                | ❌        | Whether there is a previous page |
| templates       | List\&lt;Template\&gt; | ❌        |                                  |

# EnvelopeAttachments

**Properties**

| Name       | Type                                             | Required | Description |
| :--------- | :----------------------------------------------- | :------- | :---------- |
| settings   | AttachmentSettings                               | ❌        |             |
| recipients | List\&lt;AttachmentPlaceholdersPerRecipient\&gt; | ❌        |             |

# RecipientRole

Role of the recipient (SIGNER signs the document, RECEIVES\_COPY receives a copy of the document, IN\_PERSON\_SIGNER signs the document in person, SENDER sends the document)

**Properties**

| Name               | Type   | Required | Description          |
| :----------------- | :----- | :------- | :------------------- |
| SIGNER             | String | ✅        | "SIGNER"             |
| RECEIVES\_COPY     | String | ✅        | "RECEIVES\_COPY"     |
| IN\_PERSON\_SIGNER | String | ✅        | "IN\_PERSON\_SIGNER" |

# Annotation

**Properties**

| Name        | Type                | Required | Description                                                                                     |
| :---------- | :------------------ | :------- | :---------------------------------------------------------------------------------------------- |
| id          | String              | ❌        | Unique identifier of the annotation                                                             |
| recipientId | String              | ❌        | ID of the recipient                                                                             |
| documentId  | String              | ❌        | ID of the document                                                                              |
| page        | Long                | ❌        | Page number where the annotation is placed                                                      |
| x           | Double              | ❌        | X coordinate of the annotation (in % of the page width from 0 to 100) from the top left corner  |
| y           | Double              | ❌        | Y coordinate of the annotation (in % of the page height from 0 to 100) from the top left corner |
| width       | Double              | ❌        | Width of the annotation (in % of the page width from 0 to 100)                                  |
| height      | Double              | ❌        | Height of the annotation (in % of the page height from 0 to 100)                                |
| required    | Boolean             | ❌        | Whether the annotation is required                                                              |
| type        | AnnotationType      | ❌        | Type of the annotation                                                                          |
| signature   | AnnotationSignature | ❌        | Signature annotation (null if annotation is not a signature)                                    |
| initials    | AnnotationInitials  | ❌        | Initials annotation (null if annotation is not initials)                                        |
| text        | AnnotationText      | ❌        | Text annotation (null if annotation is not a text)                                              |
| datetime    | AnnotationDateTime  | ❌        | Date annotation (null if annotation is not a date)                                              |
| checkbox    | AnnotationCheckbox  | ❌        | Checkbox annotation (null if annotation is not a checkbox)                                      |

# DynamicField

**Properties**

| Name  | Type   | Required | Description                |
| :---- | :----- | :------- | :------------------------- |
| name  | String | ❌        | Name of the dynamic field  |
| value | String | ❌        | Value of the dynamic field |

# AnnotationDateTimeFormat

Format of the date time (DMY\_NUMERIC\_SLASH is day/month/year with slashes, MDY\_NUMERIC\_SLASH is month/day/year with slashes, YMD\_NUMERIC\_SLASH is year/month/day with slashes, DMY\_NUMERIC\_DASH\_SHORT is day/month/year with dashes, DMY\_NUMERIC\_DASH is day/month/year with dashes, YMD\_NUMERIC\_DASH is year/month/day with dashes, MDY\_TEXT\_DASH\_SHORT is month/day/year with dashes, MDY\_TEXT\_SPACE\_SHORT is month/day/year with spaces, MDY\_TEXT\_SPACE is month/day/year with spaces)

**Properties**

| Name                      | Type   | Required | Description                 |
| :------------------------ | :----- | :------- | :-------------------------- |
| DMY\_NUMERIC\_SLASH       | String | ✅        | "DMY\_NUMERIC\_SLASH"       |
| MDY\_NUMERIC\_SLASH       | String | ✅        | "MDY\_NUMERIC\_SLASH"       |
| YMD\_NUMERIC\_SLASH       | String | ✅        | "YMD\_NUMERIC\_SLASH"       |
| DMY\_NUMERIC\_DASH\_SHORT | String | ✅        | "DMY\_NUMERIC\_DASH\_SHORT" |
| DMY\_NUMERIC\_DASH        | String | ✅        | "DMY\_NUMERIC\_DASH"        |
| YMD\_NUMERIC\_DASH        | String | ✅        | "YMD\_NUMERIC\_DASH"        |
| MDY\_TEXT\_DASH\_SHORT    | String | ✅        | "MDY\_TEXT\_DASH\_SHORT"    |
| MDY\_TEXT\_SPACE\_SHORT   | String | ✅        | "MDY\_TEXT\_SPACE\_SHORT"   |
| MDY\_TEXT\_SPACE          | String | ✅        | "MDY\_TEXT\_SPACE"          |

# EnvelopeFlowType

Flow type of the envelope (REQUEST\_SIGNATURE is a request for signature, SIGN\_MYSELF is a self-signing flow)

**Properties**

| Name               | Type   | Required | Description          |
| :----------------- | :----- | :------- | :------------------- |
| REQUEST\_SIGNATURE | String | ✅        | "REQUEST\_SIGNATURE" |
| SIGN\_MYSELF       | String | ✅        | "SIGN\_MYSELF"       |

# EnvelopeLegalityLevel

Legal level of the envelope (SES is Simple Electronic Signature, QES\_EIDAS is Qualified Electronic Signature, QES\_ZERTES is Qualified Electronic Signature with Zertes)

**Properties**

| Name        | Type   | Required | Description   |
| :---------- | :----- | :------- | :------------ |
| SES         | String | ✅        | "SES"         |
| QES\_EIDAS  | String | ✅        | "QES\_EIDAS"  |
| QES\_ZERTES | String | ✅        | "QES\_ZERTES" |

# TemplateRecipientRole

Role of the recipient (SIGNER signs the document, RECEIVES\_COPY receives a copy of the document, IN\_PERSON\_SIGNER signs the document in person, SENDER sends the document)

**Properties**

| Name               | Type   | Required | Description          |
| :----------------- | :----- | :------- | :------------------- |
| SIGNER             | String | ✅        | "SIGNER"             |
| RECEIVES\_COPY     | String | ✅        | "RECEIVES\_COPY"     |
| IN\_PERSON\_SIGNER | String | ✅        | "IN\_PERSON\_SIGNER" |
| SENDER             | String | ✅        | "SENDER"             |

# AttachmentPlaceholderRequest

**Properties**

| Name        | Type    | Required | Description                                    |
| :---------- | :------ | :------- | :--------------------------------------------- |
| recipientId | String  | ✅        | ID of the recipient                            |
| name        | String  | ✅        |                                                |
| required    | Boolean | ✅        | Whether the attachment placeholder is required |
| multiple    | Boolean | ✅        |                                                |
| id          | String  | ❌        | ID of the attachment placeholder               |
| hint        | String  | ❌        | Hint of the attachment placeholder             |

# SetEnvelopeDynamicFieldsRequest

**Properties**

| Name          | Type                       | Required | Description            |
| :------------ | :------------------------- | :------- | :--------------------- |
| dynamicFields | List\&lt;DynamicField\&gt; | ✅        | List of dynamic fields |

# Page

**Properties**

| Name   | Type | Required | Description                  |
| :----- | :--- | :------- | :--------------------------- |
| width  | Long | ❌        | Width of the page in pixels  |
| height | Long | ❌        | Height of the page in pixels |

# TemplateSigningStep

**Properties**

| Name       | Type                            | Required | Description        |
| :--------- | :------------------------------ | :------- | :----------------- |
| recipients | List\&lt;TemplateRecipient\&gt; | ❌        | List of recipients |

# AttachmentPlaceholdersPerRecipient

**Properties**

| Name          | Type                                | Required | Description           |
| :------------ | :---------------------------------- | :------- | :-------------------- |
| recipientId   | String                              | ❌        | ID of the recipient   |
| recipientName | String                              | ❌        | Name of the recipient |
| placeholders  | List\&lt;AttachmentPlaceholder\&gt; | ❌        |                       |

# ListEnvelopesResponse

**Properties**

| Name            | Type                   | Required | Description                      |
| :-------------- | :--------------------- | :------- | :------------------------------- |
| hasNextPage     | Boolean                | ❌        | Whether there is a next page     |
| hasPreviousPage | Boolean                | ❌        | Whether there is a previous page |
| envelopes       | List\&lt;Envelope\&gt; | ❌        |                                  |

# Recipient

**Properties**

| Name         | Type                  | Required | Description                                                                                                                                                                   |
| :----------- | :-------------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name         | String                | ✅        | Name of the recipient                                                                                                                                                         |
| email        | String                | ✅        | Email of the recipient                                                                                                                                                        |
| role         | RecipientRole         | ✅        | Role of the recipient (SIGNER signs the document, RECEIVES\_COPY receives a copy of the document, IN\_PERSON\_SIGNER signs the document in person, SENDER sends the document) |
| id           | String                | ❌        | Unique identifier of the recipient                                                                                                                                            |
| uid          | String                | ❌        | Unique identifier of the user associated with the recipient                                                                                                                   |
| verification | RecipientVerification | ❌        |                                                                                                                                                                               |

# WebhookEvent

Event of the webhook

**Properties**

| Name                   | Type   | Required | Description              |
| :--------------------- | :----- | :------- | :----------------------- |
| ENVELOPE\_EXPIRED      | String | ✅        | "ENVELOPE\_EXPIRED"      |
| ENVELOPE\_DECLINED     | String | ✅        | "ENVELOPE\_DECLINED"     |
| ENVELOPE\_VOIDED       | String | ✅        | "ENVELOPE\_VOIDED"       |
| ENVELOPE\_COMPLETED    | String | ✅        | "ENVELOPE\_COMPLETED"    |
| ENVELOPE\_AUDIT\_TRAIL | String | ✅        | "ENVELOPE\_AUDIT\_TRAIL" |

# CreateWebhookRequest

**Properties**

| Name   | Type         | Required | Description               |
| :----- | :----------- | :------- | :------------------------ |
| event  | WebhookEvent | ✅        | Event of the webhook      |
| target | String       | ✅        | URL of the webhook target |

# CreateEnvelopeFromTemplateRequest

**Properties**

| Name    | Type    | Required | Description                                     |
| :------ | :------ | :------- | :---------------------------------------------- |
| name    | String  | ✅        | Name of the envelope                            |
| comment | String  | ❌        | Comment for the envelope                        |
| sandbox | Boolean | ❌        | Whether the envelope is created in sandbox mode |

# ListTemplateAnnotationsResponse

**Properties**

| Name        | Type                     | Required | Description |
| :---------- | :----------------------- | :------- | :---------- |
| annotations | List\&lt;Annotation\&gt; | ❌        |             |

# RenameEnvelopeRequest

**Properties**

| Name | Type   | Required | Description          |
| :--- | :----- | :------- | :------------------- |
| name | String | ❌        | Name of the envelope |

# ListTemplateDocumentAnnotationsResponse

**Properties**

| Name        | Type                     | Required | Description |
| :---------- | :----------------------- | :------- | :---------- |
| annotations | List\&lt;Annotation\&gt; | ❌        |             |

# ListEnvelopeDocumentsResponse

**Properties**

| Name      | Type                   | Required | Description |
| :-------- | :--------------------- | :------- | :---------- |
| documents | List\&lt;Document\&gt; | ❌        |             |

# ListWebhooksResponse

**Properties**

| Name     | Type                  | Required | Description |
| :------- | :-------------------- | :------- | :---------- |
| webhooks | List\&lt;Webhook\&gt; | ❌        |             |

# AnnotationSignature

Signature annotation (null if annotation is not a signature)

**Properties**

| Name | Type   | Required | Description                                   |
| :--- | :----- | :------- | :-------------------------------------------- |
| id   | String | ❌        | Unique identifier of the annotation signature |
