> ## 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                 |
| :-------------------- | :----------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                   | Context                                                                        | ✅        | Default go language context |
| createEnvelopeRequest | [CreateEnvelopeRequest](/api-reference/endpoints/signplus/create-new-envelope) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

envelopeLegalityLevel := signplus.ENVELOPE_LEGALITY_LEVEL_SES

request := signplus.CreateEnvelopeRequest{
  Name: util.ToPointer("name"),
  LegalityLevel: &envelopeLegalityLevel,
  ExpiresAt: util.ToPointer(int64(8)),
  Comment: util.ToPointer("comment"),
  Sandbox: util.ToPointer(true),
}

response, err := client.Signplus.CreateEnvelope(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## CreateEnvelopeFromTemplate

Create new envelope from template

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

**Parameters**

| Name                              | Type                                                                                                     | Required | Description                 |
| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                               | Context                                                                                                  | ✅        | Default go language context |
| templateId                        | string                                                                                                   | ✅        |                             |
| createEnvelopeFromTemplateRequest | [CreateEnvelopeFromTemplateRequest](/api-reference/endpoints/signplus/create-new-envelope-from-template) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.CreateEnvelopeFromTemplateRequest{
  Name: util.ToPointer("name"),
  Comment: util.ToPointer("comment"),
  Sandbox: util.ToPointer(true),
}

response, err := client.Signplus.CreateEnvelopeFromTemplate(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## ListEnvelopes

List envelopes

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

**Parameters**

| Name                 | Type                                                                     | Required | Description                 |
| :------------------- | :----------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                  | Context                                                                  | ✅        | Default go language context |
| listEnvelopesRequest | [ListEnvelopesRequest](/api-reference/endpoints/signplus/list-envelopes) | ✅        |                             |

**Return Type**

`ListEnvelopesResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

envelopeStatus := signplus.ENVELOPE_STATUS_DRAFT

envelopeOrderField := signplus.ENVELOPE_ORDER_FIELD_CREATION_DATE

request := signplus.ListEnvelopesRequest{
  Name: util.ToPointer("name"),
  Tags: []string{},
  Comment: util.ToPointer("comment"),
  Ids: []string{},
  Statuses: []signplus.EnvelopeStatus{envelopeStatus},
  FolderIds: []string{},
  OnlyRootFolder: util.ToPointer(true),
  DateFrom: util.ToPointer(int64(5)),
  DateTo: util.ToPointer(int64(9)),
  Uid: util.ToPointer("uid"),
  First: util.ToPointer(int64(9)),
  Last: util.ToPointer(int64(7)),
  After: util.ToPointer("after"),
  Before: util.ToPointer("before"),
  OrderField: &envelopeOrderField,
  Ascending: util.ToPointer(true),
  IncludeTrash: util.ToPointer(true),
}

response, err := client.Signplus.ListEnvelopes(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetEnvelope

Get envelope

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetEnvelope(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DeleteEnvelope

Delete envelope

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`any`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DeleteEnvelope(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DownloadEnvelopeSignedDocuments

Download signed documents for an envelope

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

**Parameters**

| Name       | Type                                         | Required | Description                   |
| :--------- | :------------------------------------------- | :------- | :---------------------------- |
| ctx        | Context                                      | ✅        | Default go language context   |
| envelopeId | string                                       | ✅        | ID of the envelope            |
| params     | DownloadEnvelopeSignedDocumentsRequestParams | ✅        | Additional request parameters |

**Return Type**

`[]byte`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


params := signplus.DownloadEnvelopeSignedDocumentsRequestParams{

}

response, err := client.Signplus.DownloadEnvelopeSignedDocuments(context.Background(), "envelope_id", params)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DownloadEnvelopeCertificate

Download certificate of completion for an envelope

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        | ID of the envelope          |

**Return Type**

`[]byte`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DownloadEnvelopeCertificate(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetEnvelopeDocument

Get envelope document

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |
| documentId | string  | ✅        |                             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetEnvelopeDocument(context.Background(), "envelope_id", "document_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetEnvelopeDocuments

Get envelope documents

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`ListEnvelopeDocumentsResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetEnvelopeDocuments(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddEnvelopeDocument

Add envelope document

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

**Parameters**

| Name                       | Type                                                                                  | Required | Description                 |
| :------------------------- | :------------------------------------------------------------------------------------ | :------- | :-------------------------- |
| ctx                        | Context                                                                               | ✅        | Default go language context |
| envelopeId                 | string                                                                                | ✅        |                             |
| addEnvelopeDocumentRequest | [AddEnvelopeDocumentRequest](/api-reference/endpoints/signplus/add-envelope-document) | ✅        |                             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.AddEnvelopeDocumentRequest{
  File: []byte{},
}

response, err := client.Signplus.AddEnvelopeDocument(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeDynamicFields

Set envelope dynamic fields

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

**Parameters**

| Name                            | Type                                                                                             | Required | Description                 |
| :------------------------------ | :----------------------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                             | Context                                                                                          | ✅        | Default go language context |
| envelopeId                      | string                                                                                           | ✅        |                             |
| setEnvelopeDynamicFieldsRequest | [SetEnvelopeDynamicFieldsRequest](/api-reference/endpoints/signplus/set-envelope-dynamic-fields) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


dynamicField := signplus.DynamicField{
  Name: util.ToPointer("name"),
  Value: util.ToPointer("value"),
}

request := signplus.SetEnvelopeDynamicFieldsRequest{
  DynamicFields: []signplus.DynamicField{dynamicField},
}

response, err := client.Signplus.SetEnvelopeDynamicFields(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddEnvelopeSigningSteps

Add envelope signing steps

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

**Parameters**

| Name                           | Type                                                                                           | Required | Description                 |
| :----------------------------- | :--------------------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                            | Context                                                                                        | ✅        | Default go language context |
| envelopeId                     | string                                                                                         | ✅        |                             |
| addEnvelopeSigningStepsRequest | [AddEnvelopeSigningStepsRequest](/api-reference/endpoints/signplus/add-envelope-signing-steps) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

recipientRole := signplus.RECIPIENT_ROLE_SIGNER

recipientVerificationType := signplus.RECIPIENT_VERIFICATION_TYPE_SMS

recipientVerification := signplus.RecipientVerification{
  Type_: &recipientVerificationType,
  Value: util.ToPointer("value"),
}

recipient := signplus.Recipient{
  Id: util.ToPointer("id"),
  Uid: util.ToPointer("uid"),
  Name: util.ToPointer("name"),
  Email: util.ToPointer("email"),
  Role: &recipientRole,
  Verification: &recipientVerification,
}

signingStep := signplus.SigningStep{
  Recipients: []signplus.Recipient{recipient},
}

request := signplus.AddEnvelopeSigningStepsRequest{
  SigningSteps: []signplus.SigningStep{signingStep},
}

response, err := client.Signplus.AddEnvelopeSigningSteps(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeAttachmentsSettings

Set envelope attachment settings

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

**Parameters**

| Name                                  | Type                                  | Required | Description                 |
| :------------------------------------ | :------------------------------------ | :------- | :-------------------------- |
| ctx                                   | Context                               | ✅        | Default go language context |
| envelopeId                            | string                                | ✅        |                             |
| setEnvelopeAttachmentsSettingsRequest | SetEnvelopeAttachmentsSettingsRequest | ✅        |                             |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


attachmentSettings := signplus.AttachmentSettings{
  VisibleToRecipients: util.ToPointer(true),
}

request := signplus.SetEnvelopeAttachmentsSettingsRequest{
  Settings: &attachmentSettings,
}

response, err := client.Signplus.SetEnvelopeAttachmentsSettings(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.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                 |
| :---------------------------------------- | :---------------------------------------- | :------- | :-------------------------- |
| ctx                                       | Context                                   | ✅        | Default go language context |
| envelopeId                                | string                                    | ✅        |                             |
| setEnvelopeAttachmentsPlaceholdersRequest | SetEnvelopeAttachmentsPlaceholdersRequest | ✅        |                             |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


attachmentPlaceholderRequest := signplus.AttachmentPlaceholderRequest{
  RecipientId: util.ToPointer("recipient_id"),
  Id: util.ToPointer("id"),
  Name: util.ToPointer("name"),
  Hint: util.ToPointer("hint"),
  Required: util.ToPointer(true),
  Multiple: util.ToPointer(true),
}

request := signplus.SetEnvelopeAttachmentsPlaceholdersRequest{
  Placeholders: []signplus.AttachmentPlaceholderRequest{attachmentPlaceholderRequest},
}

response, err := client.Signplus.SetEnvelopeAttachmentsPlaceholders(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetAttachmentFile

Get envelope attachment file

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |
| fileId     | string  | ✅        |                             |

**Return Type**

`[]byte`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetAttachmentFile(context.Background(), "envelope_id", "file_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SendEnvelope

Send envelope for signature

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.SendEnvelope(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DuplicateEnvelope

Duplicate envelope

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DuplicateEnvelope(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## VoidEnvelope

Void envelope

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.VoidEnvelope(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## RenameEnvelope

Rename envelope

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

**Parameters**

| Name                  | Type                                                                       | Required | Description                 |
| :-------------------- | :------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                   | Context                                                                    | ✅        | Default go language context |
| envelopeId            | string                                                                     | ✅        |                             |
| renameEnvelopeRequest | [RenameEnvelopeRequest](/api-reference/endpoints/signplus/rename-envelope) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.RenameEnvelopeRequest{
  Name: util.ToPointer("name"),
}

response, err := client.Signplus.RenameEnvelope(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeComment

Set envelope comment

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

**Parameters**

| Name                      | Type                                                                                | Required | Description                 |
| :------------------------ | :---------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                       | Context                                                                             | ✅        | Default go language context |
| envelopeId                | string                                                                              | ✅        |                             |
| setEnvelopeCommentRequest | [SetEnvelopeCommentRequest](/api-reference/endpoints/signplus/set-envelope-comment) | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.SetEnvelopeCommentRequest{
  Comment: util.ToPointer("comment"),
}

response, err := client.Signplus.SetEnvelopeComment(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeNotification

Set envelope notification

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

**Parameters**

| Name                 | Type                 | Required | Description                 |
| :------------------- | :------------------- | :------- | :-------------------------- |
| ctx                  | Context              | ✅        | Default go language context |
| envelopeId           | string               | ✅        |                             |
| envelopeNotification | EnvelopeNotification | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.EnvelopeNotification{
  Subject: util.ToPointer("subject"),
  Message: util.ToPointer("message"),
  ReminderInterval: util.ToPointer(int64(1)),
}

response, err := client.Signplus.SetEnvelopeNotification(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeExpirationDate

Set envelope expiration date

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

**Parameters**

| Name                         | Type                         | Required | Description                 |
| :--------------------------- | :--------------------------- | :------- | :-------------------------- |
| ctx                          | Context                      | ✅        | Default go language context |
| envelopeId                   | string                       | ✅        |                             |
| setEnvelopeExpirationRequest | SetEnvelopeExpirationRequest | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.SetEnvelopeExpirationRequest{
  ExpiresAt: util.ToPointer(int64(0)),
}

response, err := client.Signplus.SetEnvelopeExpirationDate(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetEnvelopeLegalityLevel

Set envelope legality level

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

**Parameters**

| Name                            | Type                            | Required | Description                 |
| :------------------------------ | :------------------------------ | :------- | :-------------------------- |
| ctx                             | Context                         | ✅        | Default go language context |
| envelopeId                      | string                          | ✅        |                             |
| setEnvelopeLegalityLevelRequest | SetEnvelopeLegalityLevelRequest | ✅        |                             |

**Return Type**

`Envelope`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

envelopeLegalityLevel := signplus.ENVELOPE_LEGALITY_LEVEL_SES

request := signplus.SetEnvelopeLegalityLevelRequest{
  LegalityLevel: &envelopeLegalityLevel,
}

response, err := client.Signplus.SetEnvelopeLegalityLevel(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetEnvelopeAnnotations

Get envelope annotations

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        | ID of the envelope          |

**Return Type**

`[]Annotation`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetEnvelopeAnnotations(context.Background(), "envelope_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetEnvelopeDocumentAnnotations

Get envelope document annotations

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| envelopeId | string  | ✅        | ID of the envelope          |
| documentId | string  | ✅        | ID of document              |

**Return Type**

`ListEnvelopeDocumentAnnotationsResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetEnvelopeDocumentAnnotations(context.Background(), "envelope_id", "document_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddEnvelopeAnnotation

Add envelope annotation

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

**Parameters**

| Name                 | Type                                                                              | Required | Description                 |
| :------------------- | :-------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                  | Context                                                                           | ✅        | Default go language context |
| envelopeId           | string                                                                            | ✅        | ID of the envelope          |
| addAnnotationRequest | [AddAnnotationRequest](/api-reference/endpoints/signplus/add-envelope-annotation) | ✅        |                             |

**Return Type**

`Annotation`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

annotationType := signplus.ANNOTATION_TYPE_TEXT


annotationSignature := signplus.AnnotationSignature{
  Id: util.ToPointer("id"),
}


annotationInitials := signplus.AnnotationInitials{
  Id: util.ToPointer("id"),
}

annotationFontFamily := signplus.ANNOTATION_FONT_FAMILY_UNKNOWN

annotationFont := signplus.AnnotationFont{
  Family: &annotationFontFamily,
  Italic: util.ToPointer(true),
  Bold: util.ToPointer(true),
}

annotationText := signplus.AnnotationText{
  Size: util.ToPointer(float64(5.96)),
  Color: util.ToPointer(float64(8.73)),
  Value: util.ToPointer("value"),
  Tooltip: util.ToPointer("tooltip"),
  DynamicFieldName: util.ToPointer("dynamic_field_name"),
  Font: &annotationFont,
}

annotationFontFamily := signplus.ANNOTATION_FONT_FAMILY_UNKNOWN

annotationFont := signplus.AnnotationFont{
  Family: &annotationFontFamily,
  Italic: util.ToPointer(true),
  Bold: util.ToPointer(true),
}

annotationDateTimeFormat := signplus.ANNOTATION_DATE_TIME_FORMAT_DMY_NUMERIC_SLASH

annotationDateTime := signplus.AnnotationDateTime{
  Size: util.ToPointer(float64(0.26)),
  Font: &annotationFont,
  Color: util.ToPointer("color"),
  AutoFill: util.ToPointer(true),
  Timezone: util.ToPointer("timezone"),
  Timestamp: util.ToPointer(int64(1)),
  Format: &annotationDateTimeFormat,
}

annotationCheckboxStyle := signplus.ANNOTATION_CHECKBOX_STYLE_CIRCLE_CHECK

annotationCheckbox := signplus.AnnotationCheckbox{
  Checked: util.ToPointer(true),
  Style: &annotationCheckboxStyle,
}

request := signplus.AddAnnotationRequest{
  RecipientId: util.ToPointer("recipient_id"),
  DocumentId: util.ToPointer("document_id"),
  Page: util.ToPointer(int64(2)),
  X: util.ToPointer(float64(1.99)),
  Y: util.ToPointer(float64(8.2)),
  Width: util.ToPointer(float64(4.89)),
  Height: util.ToPointer(float64(9.43)),
  Required: util.ToPointer(true),
  Type_: &annotationType,
  Signature: &annotationSignature,
  Initials: &annotationInitials,
  Text: &annotationText,
  Datetime: &annotationDateTime,
  Checkbox: &annotationCheckbox,
}

response, err := client.Signplus.AddEnvelopeAnnotation(context.Background(), "envelope_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DeleteEnvelopeAnnotation

Delete envelope annotation

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

**Parameters**

| Name         | Type    | Required | Description                    |
| :----------- | :------ | :------- | :----------------------------- |
| ctx          | Context | ✅        | Default go language context    |
| envelopeId   | string  | ✅        | ID of the envelope             |
| annotationId | string  | ✅        | ID of the annotation to delete |

**Return Type**

`any`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DeleteEnvelopeAnnotation(context.Background(), "envelope_id", "annotation_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## CreateTemplate

Create new template

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

**Parameters**

| Name                  | Type                                                                           | Required | Description                 |
| :-------------------- | :----------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                   | Context                                                                        | ✅        | Default go language context |
| createTemplateRequest | [CreateTemplateRequest](/api-reference/endpoints/signplus/create-new-template) | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.CreateTemplateRequest{
  Name: util.ToPointer("name"),
}

response, err := client.Signplus.CreateTemplate(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## ListTemplates

List templates

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

**Parameters**

| Name                 | Type                                                                     | Required | Description                 |
| :------------------- | :----------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                  | Context                                                                  | ✅        | Default go language context |
| listTemplatesRequest | [ListTemplatesRequest](/api-reference/endpoints/signplus/list-templates) | ✅        |                             |

**Return Type**

`ListTemplatesResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

templateOrderField := signplus.TEMPLATE_ORDER_FIELD_TEMPLATE_ID

request := signplus.ListTemplatesRequest{
  Name: util.ToPointer("name"),
  Tags: []string{},
  Ids: []string{},
  First: util.ToPointer(int64(1)),
  Last: util.ToPointer(int64(6)),
  After: util.ToPointer("after"),
  Before: util.ToPointer("before"),
  OrderField: &templateOrderField,
  Ascending: util.ToPointer(true),
}

response, err := client.Signplus.ListTemplates(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetTemplate

Get template

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetTemplate(context.Background(), "template_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DeleteTemplate

Delete template

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        |                             |

**Return Type**

`any`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DeleteTemplate(context.Background(), "template_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DuplicateTemplate

Duplicate template

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DuplicateTemplate(context.Background(), "template_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddTemplateDocument

Add template document

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

**Parameters**

| Name                       | Type                       | Required | Description                 |
| :------------------------- | :------------------------- | :------- | :-------------------------- |
| ctx                        | Context                    | ✅        | Default go language context |
| templateId                 | string                     | ✅        |                             |
| addTemplateDocumentRequest | AddTemplateDocumentRequest | ✅        |                             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.AddTemplateDocumentRequest{
  File: []byte{},
}

response, err := client.Signplus.AddTemplateDocument(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetTemplateDocument

Get template document

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        |                             |
| documentId | string  | ✅        |                             |

**Return Type**

`Document`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetTemplateDocument(context.Background(), "template_id", "document_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetTemplateDocuments

Get template documents

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        |                             |

**Return Type**

`ListTemplateDocumentsResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetTemplateDocuments(context.Background(), "template_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddTemplateSigningSteps

Add template signing steps

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

**Parameters**

| Name                           | Type                           | Required | Description                 |
| :----------------------------- | :----------------------------- | :------- | :-------------------------- |
| ctx                            | Context                        | ✅        | Default go language context |
| templateId                     | string                         | ✅        |                             |
| addTemplateSigningStepsRequest | AddTemplateSigningStepsRequest | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

templateRecipientRole := signplus.TEMPLATE_RECIPIENT_ROLE_SIGNER

templateRecipient := signplus.TemplateRecipient{
  Id: util.ToPointer("id"),
  Uid: util.ToPointer("uid"),
  Name: util.ToPointer("name"),
  Email: util.ToPointer("email"),
  Role: &templateRecipientRole,
}

templateSigningStep := signplus.TemplateSigningStep{
  Recipients: []signplus.TemplateRecipient{templateRecipient},
}

request := signplus.AddTemplateSigningStepsRequest{
  SigningSteps: []signplus.TemplateSigningStep{templateSigningStep},
}

response, err := client.Signplus.AddTemplateSigningSteps(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## RenameTemplate

Rename template

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

**Parameters**

| Name                  | Type                  | Required | Description                 |
| :-------------------- | :-------------------- | :------- | :-------------------------- |
| ctx                   | Context               | ✅        | Default go language context |
| templateId            | string                | ✅        |                             |
| renameTemplateRequest | RenameTemplateRequest | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.RenameTemplateRequest{
  Name: util.ToPointer("name"),
}

response, err := client.Signplus.RenameTemplate(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetTemplateComment

Set template comment

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

**Parameters**

| Name                      | Type                      | Required | Description                 |
| :------------------------ | :------------------------ | :------- | :-------------------------- |
| ctx                       | Context                   | ✅        | Default go language context |
| templateId                | string                    | ✅        |                             |
| setTemplateCommentRequest | SetTemplateCommentRequest | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.SetTemplateCommentRequest{
  Comment: util.ToPointer("comment"),
}

response, err := client.Signplus.SetTemplateComment(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetTemplateNotification

Set template notification

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

**Parameters**

| Name                 | Type                 | Required | Description                 |
| :------------------- | :------------------- | :------- | :-------------------------- |
| ctx                  | Context              | ✅        | Default go language context |
| templateId           | string               | ✅        |                             |
| envelopeNotification | EnvelopeNotification | ✅        |                             |

**Return Type**

`Template`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


request := signplus.EnvelopeNotification{
  Subject: util.ToPointer("subject"),
  Message: util.ToPointer("message"),
  ReminderInterval: util.ToPointer(int64(1)),
}

response, err := client.Signplus.SetTemplateNotification(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetTemplateAnnotations

Get template annotations

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        | ID of the template          |

**Return Type**

`ListTemplateAnnotationsResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetTemplateAnnotations(context.Background(), "template_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## GetDocumentTemplateAnnotations

Get document template annotations

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

**Parameters**

| Name       | Type    | Required | Description                 |
| :--------- | :------ | :------- | :-------------------------- |
| ctx        | Context | ✅        | Default go language context |
| templateId | string  | ✅        | ID of the template          |
| documentId | string  | ✅        | ID of document              |

**Return Type**

`ListTemplateDocumentAnnotationsResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.GetDocumentTemplateAnnotations(context.Background(), "template_id", "document_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## AddTemplateAnnotation

Add template annotation

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

**Parameters**

| Name                 | Type                                                                              | Required | Description                 |
| :------------------- | :-------------------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                  | Context                                                                           | ✅        | Default go language context |
| templateId           | string                                                                            | ✅        | ID of the template          |
| addAnnotationRequest | [AddAnnotationRequest](/api-reference/endpoints/signplus/add-envelope-annotation) | ✅        |                             |

**Return Type**

`Annotation`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

annotationType := signplus.ANNOTATION_TYPE_TEXT


annotationSignature := signplus.AnnotationSignature{
  Id: util.ToPointer("id"),
}


annotationInitials := signplus.AnnotationInitials{
  Id: util.ToPointer("id"),
}

annotationFontFamily := signplus.ANNOTATION_FONT_FAMILY_UNKNOWN

annotationFont := signplus.AnnotationFont{
  Family: &annotationFontFamily,
  Italic: util.ToPointer(true),
  Bold: util.ToPointer(true),
}

annotationText := signplus.AnnotationText{
  Size: util.ToPointer(float64(5.96)),
  Color: util.ToPointer(float64(8.73)),
  Value: util.ToPointer("value"),
  Tooltip: util.ToPointer("tooltip"),
  DynamicFieldName: util.ToPointer("dynamic_field_name"),
  Font: &annotationFont,
}

annotationFontFamily := signplus.ANNOTATION_FONT_FAMILY_UNKNOWN

annotationFont := signplus.AnnotationFont{
  Family: &annotationFontFamily,
  Italic: util.ToPointer(true),
  Bold: util.ToPointer(true),
}

annotationDateTimeFormat := signplus.ANNOTATION_DATE_TIME_FORMAT_DMY_NUMERIC_SLASH

annotationDateTime := signplus.AnnotationDateTime{
  Size: util.ToPointer(float64(0.26)),
  Font: &annotationFont,
  Color: util.ToPointer("color"),
  AutoFill: util.ToPointer(true),
  Timezone: util.ToPointer("timezone"),
  Timestamp: util.ToPointer(int64(1)),
  Format: &annotationDateTimeFormat,
}

annotationCheckboxStyle := signplus.ANNOTATION_CHECKBOX_STYLE_CIRCLE_CHECK

annotationCheckbox := signplus.AnnotationCheckbox{
  Checked: util.ToPointer(true),
  Style: &annotationCheckboxStyle,
}

request := signplus.AddAnnotationRequest{
  RecipientId: util.ToPointer("recipient_id"),
  DocumentId: util.ToPointer("document_id"),
  Page: util.ToPointer(int64(2)),
  X: util.ToPointer(float64(1.99)),
  Y: util.ToPointer(float64(8.2)),
  Width: util.ToPointer(float64(4.89)),
  Height: util.ToPointer(float64(9.43)),
  Required: util.ToPointer(true),
  Type_: &annotationType,
  Signature: &annotationSignature,
  Initials: &annotationInitials,
  Text: &annotationText,
  Datetime: &annotationDateTime,
  Checkbox: &annotationCheckbox,
}

response, err := client.Signplus.AddTemplateAnnotation(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DeleteTemplateAnnotation

Delete template annotation

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

**Parameters**

| Name         | Type    | Required | Description                    |
| :----------- | :------ | :------- | :----------------------------- |
| ctx          | Context | ✅        | Default go language context    |
| templateId   | string  | ✅        | ID of the template             |
| annotationId | string  | ✅        | ID of the annotation to delete |

**Return Type**

`any`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DeleteTemplateAnnotation(context.Background(), "template_id", "annotation_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## SetTemplateAttachmentsSettings

Set template attachment settings

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

**Parameters**

| Name                                  | Type                                  | Required | Description                 |
| :------------------------------------ | :------------------------------------ | :------- | :-------------------------- |
| ctx                                   | Context                               | ✅        | Default go language context |
| templateId                            | string                                | ✅        |                             |
| setEnvelopeAttachmentsSettingsRequest | SetEnvelopeAttachmentsSettingsRequest | ✅        |                             |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


attachmentSettings := signplus.AttachmentSettings{
  VisibleToRecipients: util.ToPointer(true),
}

request := signplus.SetEnvelopeAttachmentsSettingsRequest{
  Settings: &attachmentSettings,
}

response, err := client.Signplus.SetTemplateAttachmentsSettings(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.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                 |
| :---------------------------------------- | :---------------------------------------- | :------- | :-------------------------- |
| ctx                                       | Context                                   | ✅        | Default go language context |
| templateId                                | string                                    | ✅        |                             |
| setEnvelopeAttachmentsPlaceholdersRequest | SetEnvelopeAttachmentsPlaceholdersRequest | ✅        |                             |

**Return Type**

`EnvelopeAttachments`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)


attachmentPlaceholderRequest := signplus.AttachmentPlaceholderRequest{
  RecipientId: util.ToPointer("recipient_id"),
  Id: util.ToPointer("id"),
  Name: util.ToPointer("name"),
  Hint: util.ToPointer("hint"),
  Required: util.ToPointer(true),
  Multiple: util.ToPointer(true),
}

request := signplus.SetEnvelopeAttachmentsPlaceholdersRequest{
  Placeholders: []signplus.AttachmentPlaceholderRequest{attachmentPlaceholderRequest},
}

response, err := client.Signplus.SetTemplateAttachmentsPlaceholders(context.Background(), "template_id", request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## CreateWebhook

Create webhook

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

**Parameters**

| Name                 | Type                                                                     | Required | Description                 |
| :------------------- | :----------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                  | Context                                                                  | ✅        | Default go language context |
| createWebhookRequest | [CreateWebhookRequest](/api-reference/endpoints/signplus/create-webhook) | ✅        |                             |

**Return Type**

`Webhook`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

webhookEvent := signplus.WEBHOOK_EVENT_ENVELOPE_EXPIRED

request := signplus.CreateWebhookRequest{
  Event: &webhookEvent,
  Target: util.ToPointer("target"),
}

response, err := client.Signplus.CreateWebhook(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## ListWebhooks

List webhooks

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

**Parameters**

| Name                | Type                                                                   | Required | Description                 |
| :------------------ | :--------------------------------------------------------------------- | :------- | :-------------------------- |
| ctx                 | Context                                                                | ✅        | Default go language context |
| listWebhooksRequest | [ListWebhooksRequest](/api-reference/endpoints/signplus/list-webhooks) | ✅        |                             |

**Return Type**

`ListWebhooksResponse`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"
  "github.com/alohihq/signplus-go/pkg/util"
)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

webhookEvent := signplus.WEBHOOK_EVENT_ENVELOPE_EXPIRED

request := signplus.ListWebhooksRequest{
  WebhookId: util.ToPointer("webhook_id"),
  Event: &webhookEvent,
}

response, err := client.Signplus.ListWebhooks(context.Background(), request)
if err != nil {
  panic(err)
}

fmt.Println(response)
```

## DeleteWebhook

Delete webhook

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

**Parameters**

| Name      | Type    | Required | Description                 |
| :-------- | :------ | :------- | :-------------------------- |
| ctx       | Context | ✅        | Default go language context |
| webhookId | string  | ✅        |                             |

**Return Type**

`any`

**Example Usage Code Snippet**

```go theme={null}
import (
  "fmt"
  "encoding/json"
  "github.com/alohihq/signplus-go/pkg/signplusconfig"
  "github.com/alohihq/signplus-go/pkg/signplus"

)

config := signplusconfig.NewConfig()
config.SetAccessToken("ACCESS_TOKEN")
client := signplus.NewSignplus(config)

response, err := client.Signplus.DeleteWebhook(context.Background(), "webhook_id")
if err != nil {
  panic(err)
}

fmt.Println(response)
```

# Models

# 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 | int64            | ❌        | Number of pages in the document   |
| Pages     | \[]signplus.Page | ❌        | List of pages in the document     |

# SetEnvelopeAttachmentsSettingsRequest

**Properties**

| Name     | Type                        | Required | Description |
| :------- | :-------------------------- | :------- | :---------- |
| Settings | signplus.AttachmentSettings | ✅        |             |

# TemplateSigningStep

**Properties**

| Name       | Type                          | Required | Description        |
| :--------- | :---------------------------- | :------- | :----------------- |
| Recipients | \[]signplus.TemplateRecipient | ❌        | List of recipients |

# ListEnvelopeDocumentAnnotationsResponse

**Properties**

| Name        | Type                   | Required | Description |
| :---------- | :--------------------- | :------- | :---------- |
| Annotations | \[]signplus.Annotation | ❌        |             |

# 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           | int64                           | ❌        | Total number of pages in the template                                                                                                                                     |
| LegalityLevel   | signplus.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       | int64                           | ❌        | Unix timestamp of the creation date                                                                                                                                       |
| UpdatedAt       | int64                           | ❌        | Unix timestamp of the last modification date                                                                                                                              |
| ExpirationDelay | int64                           | ❌        | Expiration delay added to the current time when an envelope is created from this template                                                                                 |
| NumRecipients   | int64                           | ❌        | Number of recipients in the envelope                                                                                                                                      |
| SigningSteps    | \[]signplus.TemplateSigningStep | ❌        |                                                                                                                                                                           |
| Documents       | \[]signplus.Document            | ❌        |                                                                                                                                                                           |
| Notification    | signplus.EnvelopeNotification   | ❌        |                                                                                                                                                                           |
| DynamicFields   | \[]string                       | ❌        | List of dynamic fields                                                                                                                                                    |
| Attachments     | signplus.EnvelopeAttachments    | ❌        |                                                                                                                                                                           |

# 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" |

# RenameTemplateRequest

**Properties**

| Name | Type   | Required | Description          |
| :--- | :----- | :------- | :------------------- |
| Name | string | ✅        | Name of the template |

# 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" |

# AnnotationInitials

Initials annotation (null if annotation is not initials)

**Properties**

| Name | Type   | Required | Description                                  |
| :--- | :----- | :------- | :------------------------------------------- |
| Id   | string | ❌        | Unique identifier of the annotation initials |

# AttachmentPlaceholderFile

**Properties**

| Name     | Type   | Required | Description               |
| :------- | :----- | :------- | :------------------------ |
| Id       | string | ❌        | ID of the file            |
| Name     | string | ❌        | Name of the file          |
| Size     | int64  | ❌        | Size of the file in bytes |
| Mimetype | string | ❌        | MIME type of the file     |

# RenameEnvelopeRequest

**Properties**

| Name | Type   | Required | Description          |
| :--- | :----- | :------- | :------------------- |
| Name | string | ❌        | Name of the envelope |

# DynamicField

**Properties**

| Name  | Type   | Required | Description                |
| :---- | :----- | :------- | :------------------------- |
| Name  | string | ❌        | Name of the dynamic field  |
| Value | string | ❌        | Value of the dynamic field |

# SetEnvelopeDynamicFieldsRequest

**Properties**

| Name          | Type                     | Required | Description            |
| :------------ | :----------------------- | :------- | :--------------------- |
| DynamicFields | \[]signplus.DynamicField | ✅        | List of dynamic fields |

# AddEnvelopeSigningStepsRequest

**Properties**

| Name         | Type                    | Required | Description           |
| :----------- | :---------------------- | :------- | :-------------------- |
| SigningSteps | \[]signplus.SigningStep | ❌        | List of signing steps |

# 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"       |

# SetEnvelopeCommentRequest

**Properties**

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

# AnnotationText

Text annotation (null if annotation is not a text)

**Properties**

| Name             | Type                    | Required | Description                        |
| :--------------- | :---------------------- | :------- | :--------------------------------- |
| Size             | float64                 | ❌        | Font size of the text in pt        |
| Color            | float64                 | ❌        | 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             | signplus.AnnotationFont | ❌        |                                    |

# 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         | int64                          | ❌        | Total number of pages in the envelope                                                                                                                                     |
| FlowType      | signplus.EnvelopeFlowType      | ❌        | Flow type of the envelope (REQUEST\_SIGNATURE is a request for signature, SIGN\_MYSELF is a self-signing flow)                                                            |
| LegalityLevel | signplus.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        | signplus.EnvelopeStatus        | ❌        | Status of the envelope                                                                                                                                                    |
| CreatedAt     | int64                          | ❌        | Unix timestamp of the creation date                                                                                                                                       |
| UpdatedAt     | int64                          | ❌        | Unix timestamp of the last modification date                                                                                                                              |
| ExpiresAt     | int64                          | ❌        | Unix timestamp of the expiration date                                                                                                                                     |
| NumRecipients | int64                          | ❌        | Number of recipients in the envelope                                                                                                                                      |
| IsDuplicable  | bool                           | ❌        | Whether the envelope can be duplicated                                                                                                                                    |
| SigningSteps  | \[]signplus.SigningStep        | ❌        |                                                                                                                                                                           |
| Documents     | \[]signplus.Document           | ❌        |                                                                                                                                                                           |
| Notification  | signplus.EnvelopeNotification  | ❌        |                                                                                                                                                                           |
| Attachments   | signplus.EnvelopeAttachments   | ❌        |                                                                                                                                                                           |

# AddTemplateSigningStepsRequest

**Properties**

| Name         | Type                            | Required | Description           |
| :----------- | :------------------------------ | :------- | :-------------------- |
| SigningSteps | \[]signplus.TemplateSigningStep | ✅        | List of signing steps |

# 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    | bool                                  | ❌        | Whether the attachment placeholder is required             |
| Multiple    | bool                                  | ❌        | Whether the attachment placeholder can have multiple files |
| Files       | \[]signplus.AttachmentPlaceholderFile | ❌        |                                                            |

# CreateEnvelopeRequest

**Properties**

| Name          | Type                           | Required | Description                                                                                                                                                               |
| :------------ | :----------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Name          | string                         | ✅        | Name of the envelope                                                                                                                                                      |
| LegalityLevel | signplus.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     | int64                          | ❌        | Unix timestamp of the expiration date                                                                                                                                     |
| Comment       | string                         | ❌        | Comment for the envelope                                                                                                                                                  |
| Sandbox       | bool                           | ❌        | Whether the envelope is created in sandbox mode                                                                                                                           |

# 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"             |

# ListWebhooksRequest

**Properties**

| Name      | Type                  | Required | Description          |
| :-------- | :-------------------- | :------- | :------------------- |
| WebhookId | string                | ❌        | ID of the webhook    |
| Event     | signplus.WebhookEvent | ❌        | Event of the webhook |

# 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"          |

# ListTemplateDocumentAnnotationsResponse

**Properties**

| Name        | Type                   | Required | Description |
| :---------- | :--------------------- | :------- | :---------- |
| Annotations | \[]signplus.Annotation | ❌        |             |

# AnnotationFontFamily

Font family of the text

**Properties**

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

# CreateTemplateRequest

**Properties**

| Name | Type   | Required | Description |
| :--- | :----- | :------- | :---------- |
| Name | string | ✅        |             |

# AddTemplateDocumentRequest

**Properties**

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

# SetEnvelopeExpirationRequest

**Properties**

| Name      | Type  | Required | Description                           |
| :-------- | :---- | :------- | :------------------------------------ |
| ExpiresAt | int64 | ✅        | Unix timestamp of the expiration date |

# SetEnvelopeLegalityLevelRequest

**Properties**

| Name          | Type                           | Required | Description                                                                                                                                                               |
| :------------ | :----------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| LegalityLevel | signplus.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) |

# ListTemplatesResponse

**Properties**

| Name            | Type                 | Required | Description                      |
| :-------------- | :------------------- | :------- | :------------------------------- |
| HasNextPage     | bool                 | ❌        | Whether there is a next page     |
| HasPreviousPage | bool                 | ❌        | Whether there is a previous page |
| Templates       | \[]signplus.Template | ❌        |                                  |

# SetTemplateCommentRequest

**Properties**

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

# ListEnvelopesResponse

**Properties**

| Name            | Type                 | Required | Description                      |
| :-------------- | :------------------- | :------- | :------------------------------- |
| HasNextPage     | bool                 | ❌        | Whether there is a next page     |
| HasPreviousPage | bool                 | ❌        | Whether there is a previous page |
| Envelopes       | \[]signplus.Envelope | ❌        |                                  |

# ListTemplatesRequest

**Properties**

| Name       | Type                        | Required | Description                                   |
| :--------- | :-------------------------- | :------- | :-------------------------------------------- |
| Name       | string                      | ❌        | Name of the template                          |
| Tags       | \[]string                   | ❌        | List of tag templates                         |
| Ids        | \[]string                   | ❌        | List of templates IDs                         |
| First      | int64                       | ❌        |                                               |
| Last       | int64                       | ❌        |                                               |
| After      | string                      | ❌        |                                               |
| Before     | string                      | ❌        |                                               |
| OrderField | signplus.TemplateOrderField | ❌        | Field to order templates by                   |
| Ascending  | bool                        | ❌        | Whether to order templates in ascending order |

# AnnotationFont

**Properties**

| Name   | Type                          | Required | Description                |
| :----- | :---------------------------- | :------- | :------------------------- |
| Family | signplus.AnnotationFontFamily | ❌        | Font family of the text    |
| Italic | bool                          | ❌        | Whether the text is italic |
| Bold   | bool                          | ❌        | 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"      |

# ListWebhooksResponse

**Properties**

| Name     | Type                | Required | Description |
| :------- | :------------------ | :------- | :---------- |
| Webhooks | \[]signplus.Webhook | ❌        |             |

# Webhook

**Properties**

| Name   | Type                  | Required | Description                      |
| :----- | :-------------------- | :------- | :------------------------------- |
| Id     | string                | ❌        | Unique identifier of the webhook |
| Event  | signplus.WebhookEvent | ❌        | Event of the webhook             |
| Target | string                | ❌        | Target URL of the webhook        |

# CreateEnvelopeFromTemplateRequest

**Properties**

| Name    | Type   | Required | Description                                     |
| :------ | :----- | :------- | :---------------------------------------------- |
| Name    | string | ✅        | Name of the envelope                            |
| Comment | string | ❌        | Comment for the envelope                        |
| Sandbox | bool   | ❌        | Whether the envelope is created in sandbox mode |

# 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" |

# 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" |

# ListTemplateDocumentsResponse

**Properties**

| Name      | Type                 | Required | Description |
| :-------- | :------------------- | :------- | :---------- |
| Documents | \[]signplus.Document | ❌        |             |

# 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  | signplus.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) |

# RecipientVerification

**Properties**

| Name   | Type                               | Required | Description                                                                                                                                                                                                                                          |
| :----- | :--------------------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Type\_ | signplus.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.                                                              |

# ListTemplateAnnotationsResponse

**Properties**

| Name        | Type                   | Required | Description |
| :---------- | :--------------------- | :------- | :---------- |
| Annotations | \[]signplus.Annotation | ❌        |             |

# SetEnvelopeAttachmentsPlaceholdersRequest

**Properties**

| Name         | Type                                     | Required | Description |
| :----------- | :--------------------------------------- | :------- | :---------- |
| Placeholders | \[]signplus.AttachmentPlaceholderRequest | ✅        |             |

# AttachmentPlaceholderRequest

**Properties**

| Name        | Type   | Required | Description                                    |
| :---------- | :----- | :------- | :--------------------------------------------- |
| RecipientId | string | ✅        | ID of the recipient                            |
| Name        | string | ✅        |                                                |
| Required    | bool   | ✅        | Whether the attachment placeholder is required |
| Multiple    | bool   | ✅        |                                                |
| Id          | string | ❌        | ID of the attachment placeholder               |
| Hint        | string | ❌        | Hint of the attachment placeholder             |

# 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        | int64                        | ❌        | Page number where the annotation is placed                                                      |
| X           | float64                      | ❌        | X coordinate of the annotation (in % of the page width from 0 to 100) from the top left corner  |
| Y           | float64                      | ❌        | Y coordinate of the annotation (in % of the page height from 0 to 100) from the top left corner |
| Width       | float64                      | ❌        | Width of the annotation (in % of the page width from 0 to 100)                                  |
| Height      | float64                      | ❌        | Height of the annotation (in % of the page height from 0 to 100)                                |
| Required    | bool                         | ❌        | Whether the annotation is required                                                              |
| Type\_      | signplus.AnnotationType      | ❌        | Type of the annotation                                                                          |
| Signature   | signplus.AnnotationSignature | ❌        | Signature annotation (null if annotation is not a signature)                                    |
| Initials    | signplus.AnnotationInitials  | ❌        | Initials annotation (null if annotation is not initials)                                        |
| Text        | signplus.AnnotationText      | ❌        | Text annotation (null if annotation is not a text)                                              |
| Datetime    | signplus.AnnotationDateTime  | ❌        | Date annotation (null if annotation is not a date)                                              |
| Checkbox    | signplus.AnnotationCheckbox  | ❌        | Checkbox annotation (null if annotation is not a checkbox)                                      |

# ListEnvelopeDocumentsResponse

**Properties**

| Name      | Type                 | Required | Description |
| :-------- | :------------------- | :------- | :---------- |
| Documents | \[]signplus.Document | ❌        |             |

# CreateWebhookRequest

**Properties**

| Name   | Type                  | Required | Description               |
| :----- | :-------------------- | :------- | :------------------------ |
| Event  | signplus.WebhookEvent | ✅        | Event of the webhook      |
| Target | string                | ✅        | URL of the webhook target |

# Page

**Properties**

| Name   | Type  | Required | Description                  |
| :----- | :---- | :------- | :--------------------------- |
| Width  | int64 | ❌        | Width of the page in pixels  |
| Height | int64 | ❌        | Height of the page in pixels |

# Recipient

**Properties**

| Name         | Type                           | Required | Description                                                                                                                                                                   |
| :----------- | :----------------------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name         | string                         | ✅        | Name of the recipient                                                                                                                                                         |
| Email        | string                         | ✅        | Email of the recipient                                                                                                                                                        |
| Role         | signplus.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 | signplus.RecipientVerification | ❌        |                                                                                                                                                                               |

# 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" |

# AttachmentPlaceholdersPerRecipient

**Properties**

| Name          | Type                              | Required | Description           |
| :------------ | :-------------------------------- | :------- | :-------------------- |
| RecipientId   | string                            | ❌        | ID of the recipient   |
| RecipientName | string                            | ❌        | Name of the recipient |
| Placeholders  | \[]signplus.AttachmentPlaceholder | ❌        |                       |

# EnvelopeAttachments

**Properties**

| Name       | Type                                           | Required | Description |
| :--------- | :--------------------------------------------- | :------- | :---------- |
| Settings   | signplus.AttachmentSettings                    | ❌        |             |
| Recipients | \[]signplus.AttachmentPlaceholdersPerRecipient | ❌        |             |

# SigningStep

**Properties**

| Name       | Type                  | Required | Description        |
| :--------- | :-------------------- | :------- | :----------------- |
| Recipients | \[]signplus.Recipient | ❌        | List of recipients |

# 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"      |

# ListEnvelopesRequest

**Properties**

| Name           | Type                        | Required | Description                                       |
| :------------- | :-------------------------- | :------- | :------------------------------------------------ |
| Name           | string                      | ❌        | Name of the envelope                              |
| Tags           | \[]string                   | ❌        | List of tags                                      |
| Comment        | string                      | ❌        | Comment of the envelope                           |
| Ids            | \[]string                   | ❌        | List of envelope IDs                              |
| Statuses       | \[]signplus.EnvelopeStatus  | ❌        | List of envelope statuses                         |
| FolderIds      | \[]string                   | ❌        | List of folder IDs                                |
| OnlyRootFolder | bool                        | ❌        | Whether to only list envelopes in the root folder |
| DateFrom       | int64                       | ❌        | Unix timestamp of the start date                  |
| DateTo         | int64                       | ❌        | Unix timestamp of the end date                    |
| Uid            | string                      | ❌        | Unique identifier of the user                     |
| First          | int64                       | ❌        |                                                   |
| Last           | int64                       | ❌        |                                                   |
| After          | string                      | ❌        |                                                   |
| Before         | string                      | ❌        |                                                   |
| OrderField     | signplus.EnvelopeOrderField | ❌        | Field to order envelopes by                       |
| Ascending      | bool                        | ❌        | Whether to order envelopes in ascending order     |
| IncludeTrash   | bool                        | ❌        | Whether to include envelopes in the trash         |

# 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" |

# 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"               |

# AnnotationCheckbox

Checkbox annotation (null if annotation is not a checkbox)

**Properties**

| Name    | Type                             | Required | Description                     |
| :------ | :------------------------------- | :------- | :------------------------------ |
| Checked | bool                             | ❌        | Whether the checkbox is checked |
| Style   | signplus.AnnotationCheckboxStyle | ❌        | Style of the checkbox           |

# AnnotationSignature

Signature annotation (null if annotation is not a signature)

**Properties**

| Name | Type   | Required | Description                                   |
| :--- | :----- | :------- | :-------------------------------------------- |
| Id   | string | ❌        | Unique identifier of the annotation signature |

# AddAnnotationRequest

**Properties**

| Name        | Type                         | Required | Description                                                                                     |
| :---------- | :--------------------------- | :------- | :---------------------------------------------------------------------------------------------- |
| DocumentId  | string                       | ✅        | ID of the document                                                                              |
| Page        | int64                        | ✅        | Page number where the annotation is placed                                                      |
| X           | float64                      | ✅        | X coordinate of the annotation (in % of the page width from 0 to 100) from the top left corner  |
| Y           | float64                      | ✅        | Y coordinate of the annotation (in % of the page height from 0 to 100) from the top left corner |
| Width       | float64                      | ✅        | Width of the annotation (in % of the page width from 0 to 100)                                  |
| Height      | float64                      | ✅        | Height of the annotation (in % of the page height from 0 to 100)                                |
| Type\_      | signplus.AnnotationType      | ✅        | Type of the annotation                                                                          |
| RecipientId | string                       | ❌        | ID of the recipient                                                                             |
| Required    | bool                         | ❌        |                                                                                                 |
| Signature   | signplus.AnnotationSignature | ❌        | Signature annotation (null if annotation is not a signature)                                    |
| Initials    | signplus.AnnotationInitials  | ❌        | Initials annotation (null if annotation is not initials)                                        |
| Text        | signplus.AnnotationText      | ❌        | Text annotation (null if annotation is not a text)                                              |
| Datetime    | signplus.AnnotationDateTime  | ❌        | Date annotation (null if annotation is not a date)                                              |
| Checkbox    | signplus.AnnotationCheckbox  | ❌        | Checkbox annotation (null if annotation is not a checkbox)                                      |

# AttachmentSettings

**Properties**

| Name                | Type | Required | Description                                         |
| :------------------ | :--- | :------- | :-------------------------------------------------- |
| VisibleToRecipients | bool | ❌        | Whether the attachment is visible to the recipients |

# AnnotationDateTime

Date annotation (null if annotation is not a date)

**Properties**

| Name      | Type                              | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| :-------- | :-------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Size      | float64                           | ❌        | Font size of the text in pt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Font      | signplus.AnnotationFont           | ❌        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Color     | string                            | ❌        | Color of the text in hex format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| AutoFill  | bool                              | ❌        | Whether the date should be automatically filled                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Timezone  | string                            | ❌        | Timezone of the date                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Timestamp | int64                             | ❌        | Unix timestamp of the date                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Format    | signplus.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) |

# AddEnvelopeDocumentRequest

**Properties**

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

# EnvelopeNotification

**Properties**

| Name             | Type   | Required | Description                       |
| :--------------- | :----- | :------- | :-------------------------------- |
| Subject          | string | ❌        | Subject of the notification       |
| Message          | string | ❌        | Message of the notification       |
| ReminderInterval | int64  | ❌        | Interval in days to send reminder |
