# addSigner

### Overview

Parameters:

* String - doc token
* [Signer](/english/facilitators/sdks/java-sdk/used-classes/body/signer.md)

Return:

* [Signer](/english/facilitators/sdks/java-sdk/used-classes/response/signer-response.md) - success
* Exception - failure

To add this signer we need:

* set your api token.
* set your doc token.
* set your new signer.
* call the method.

### Usage:

Import the relevant components:

```java
import body.signer.Signer;
import signers.SignerRequest;

import services.JsonConverter;
```

Set your [Api Token](/english/master.md):

```java
String apiToken = "YOUR TOKEN";
```

Set your doc token.

```java
String docToken = "DOC TOKEN";
```

Set your signers with the class [Signer](/english/facilitators/sdks/java-sdk/used-classes/body/signer.md):

```java
Signer signer = Signer.builder()
                .name("New signer Name")
                .email("newEmail@test.com")
                .lock_email(true)
                .lock_phone(true)
                .phone_country("55")
                .phone_number("99999999999")
                .auth_mode("assinaturaTela")
                .send_automatic_email(false)
                .send_automatic_whatsapp(false)
                .build();
```

Call the method addSigner and receive the [Signer ](/english/facilitators/sdks/java-sdk/used-classes/response/signer-response.md)class or an error message as a response:

```java
try {
    Signer signerResponse = new SignerRequest(apiToken).updateSigner(signerToken, signer);
    String jsonDocResponse = new JsonConverter().signerToJson(signerResponse);
    System.out.println(jsonDocResponse);
}
catch(Exception exceptionError) {
    System.out.println(exceptionError.getMessage());
}
```

### Example:

```java
import body.signer.Signer;
import services.JsonConverter;
import signers.SignerRequest;

public class AddSigner {
    public static void main(String[] args) throws Exception {
        String apiToken = "YOUR TOKEN";
        String docToken = "DOC TOKEN";

        Signer signer = Signer.builder()
                .name("New signer Name")
                .email("newEmail@test.com")
                .lock_email(true)
                .lock_phone(true)
                .phone_country("55")
                .phone_number("99999999999")
                .auth_mode("assinaturaTela")
                .send_automatic_email(false)
                .send_automatic_whatsapp(false)
                .build();

        try {
            Signer signerResponse = new SignerRequest(apiToken).addSigner(docToken, signer);
            String jsonDocResponse = new JsonConverter().signerToJson(signerResponse);
            System.out.println(jsonDocResponse);
        }
        catch(Exception exceptionError) {
            System.out.println(exceptionError.getMessage());
        }
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zapsign.com.br/english/facilitators/sdks/java-sdk/signers-requests/addsigner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
