# Add Additional Files When Sending from Template

BoldSign supports adding additional files when sending a document from a template using the API. Using `Files` property, you can add additional file. 

The "v1/template/send" API endpoint now supports both `multipart/form-data` and `application/json` content types. This article will guide you on how to add additional files when sending a document from a template using the API.

Below are a few code examples demonstrating how to add additional files when sending a document from a template using the API.

## Code snippet using multipart/form-data

{% codetab id="codetab1" %}

cURL

```shell 
curl -X 'POST' \
  'https://api.boldsign.com/v1/template/send?templateId=d6bad813-xxxx-xxxx-8c9e-e91a96c06392' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {Your API Key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'files=@{path to your file}' \
  -F 'title=Sample document' \
  -F 'message=Kindly review and sign this.' \
  -F 'roles[0][roleIndex]=1' \
  -F 'roles[0][signerName]=Richard' \
  -F 'roles[0][signerEmail]=richard@boldsign.dev' \
  -F 'roles[0][privateMessage]=Please check and sign the document.' \
  -F 'roles[0][signerType]=Signer' \
  -F 'roles[0][signerRole]=Manager' \
  -F 'roles[0][formFields][0][id]=SignField' \
  -F 'roles[0][formFields][0][fieldType]=Signature' \
  -F 'roles[0][formFields][0][pageNumber]=1' \
  -F 'roles[0][formFields][0][bounds][x]=100' \
  -F 'roles[0][formFields][0][bounds][y]=100' \
  -F 'roles[0][formFields][0][bounds][width]=100' \
  -F 'roles[0][formFields][0][bounds][height]=50' \
  -F 'roles[0][formFields][0][isRequired]=true' \
  -F 'roles[0][locale]=EN'

```

C#

```C#
using BoldSign.Api;
using BoldSign.Model;
var apiClient = new ApiClient("https://api.boldsign.com", "{Your API Key}");
var templateClient = new TemplateClient(apiClient);
var documentFilePath= new DocumentFilePath
{
    ContentType = "application/pdf",
    FilePath = "{Your file path}",
};
var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};
var templateRole = new Roles(
    roleSignerName:"Richard",
    roleSignerEmailAddress:"richard@boldsign.dev",
    roleSignerIndex:1,
    locale: Locales.EN);

var roles = new List<Roles>
{
    templateRole,
    
};

var sendForSignFromTemplate = new SendForSignFromTemplate()
{
    Files = filesToUpload,
    TemplateId = "cda4932f-xxxx-xxxx-8a5e-72ce7883e727",
    Roles = roles,
  
};

var documentCreated =  templateClient.SendUsingTemplate(sendForSignFromTemplate);
Console.WriteLine(documentCreated.DocumentId);

```
{% /codetab %}


## Code snippet using application/json

{% codetab id="codetab2" %}

cURL

```shell 
curl -X 'POST' \ 'https://api.boldsign.com/v1/template/send?templateId=cda4932f-xxxx-xxxx-8a5e-72ce7883e727' \
     -H 'accept: application/json' \
     -H 'X-API-KEY: {Your API Key}' \
     -H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
     -d '{
       "title": "Sample document",
       "message": "Kindly review and sign this.",
       "roles": [
    {
      "roleIndex": 1,
      "signerName": "Richard",
      "signerEmail": "richard@boldsign.dev",
      "privateMessage": "Please check and sign the document.",
      "signerType": "Signer",
      "signerRole": "Manager",
      "locale": "EN"
    }
  ],

   "files": [
        "data:application/{{fileType}};base64,{{content}}"
    ]
   }'

```

{% /codetab %}

In the example above, replace `templateId` with the ID of the template you created earlier. Then, update the `SignerEmail` and `SignerName` properties with the email and name of the signer to whom you want to send the document, and add any additional files. Once you run the code, the document will be sent for signature with the additional files included.
