# Branding

The branding feature is used to customize the appearance of the email sent to the recipients, such as the logo, background color, and button color. It also allows you to customize the document's signing page with your own logo and enable your own disclaimer.

BoldSign allows you to create multiple brands in your account. When sending the signature request, you can select which particular brand should be applied with that signature request.

## Create brand

{% post /%}
{% path text="/v1/brand/create" /%}

Create a new brand to your organization account. There is no limitation to create a number of brands. Also, after the successful brand creation, the API request will return the brand ID. You can use it to set the brand while creating the document.

## Code snippet

{% codetab %}

cURL

```shell
curl -X POST 'https://api.boldsign.com/v1/brand/create' \
      -H 'X-API-KEY: {your API key}' \
      -F 'BrandName=Syncfusion' \
      -F 'BrandLogo=@D:\SyncfusionLogo.png' \
      -F 'BackgroundColor=red' \
      -F 'ButtonColor=green' \
      -F 'ButtonTextColor=white' \
      -F 'EmailDisplayName={SenderName} from Syncfusion' \
      -F 'RedirectUrl=https://www.syncfusion.com/' \
      -F 'IsDefault=true' \
      -F 'CanHideTagLine=false' \
      -F 'CombineAuditTrail=true' \
      -F 'CombineAttachments=true' \
      -F 'DocumentTimeZone=+05:30' \
      -F 'EmailSignedDocument=1' \
      -F 'HideDecline=false' \
      -F 'HideSave=false'\
      -F 'ShowBuiltInFormFields=true' \
      -F 'AllowCustomFieldCreation=true' \
      -F 'ShowSharedCustomFields=false' \ 
      -F 'ExcludeAuditTrailFromEmail=false' \
      -F 'CustomDomainSettings={"DomainName":"mail.cubeflakes.com","FromName":"notification"}'
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "Your_API_Key");

var brandingClient = new BrandingClient(apiClient);

var brandSettings = new BrandSettings()
{
    BrandName = "Syncfusion",
    BrandLogo = new ImageFileBytes()
    {
        ContentType = "image/png",
        FileBytes = File.ReadAllBytes("YOUR_FILE_PATH"),
    },
    ShowBuiltInFormFields = true
};

BrandingData brandCreated = brandingClient.CreateBrand(brandSettings);
string brandId = brandCreated.BrandId;
```

Python

```python
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    branding_api = boldsign.BrandingApi(api_client)
	
    brand_created = branding_api.create_brand(
        brand_name="Syncfusion",
        brand_logo="YOUR_FILE_PATH")
```

PHP

```php
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\BrandingApi;

$config = new Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$branding_api = new BrandingApi($config);
$brand_name = 'Syncfusion';
$brand_logo = 'YOUR_FILE_PATH';

$brand_created = $branding_api->createBrand($brand_name, $brand_logo);
```

Java

```java
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
            
BrandingApi brandingApi = new BrandingApi(client);

String brandName ="Syncfusion";        
File brandLogo = new File("YOUR_FILE_PATH");       
           
BrandCreated brandCreated = brandingApi.createBrand(brandName, brandLogo, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
```

NodeJS

```js
import { BrandingApi } from "boldsign";
import * as fs from 'fs';

const brandingApi = new BrandingApi("https://api.boldsign.com");
brandingApi.setApiKey("YOUR_API_KEY");

const brandName = "NodeSDK";
const brandLogo = fs.createReadStream("YOUR_FILE_PATH");

const brandCreated = brandingApi.createBrand(brandName, brandLogo);
```

{% /codetab %}

## Request body

{% nestedtable %}

- {% arguments name="BrandName" /%}{% batch datatype="string" /%}{% required /%} 
- Define the brand name that is used to set the brand while creating the signature request in the BoldSign application.

---

- {% arguments name="BrandLogo" /%}{% batch datatype="object" /%}{% required /%}
- It is used to customize the default logo available in the emails and document signing pages.
  You can update or set the logo using an
  `ImageFile`
  object. Choose the appropriate implementation (ImageFileBytes, ImageFilePath, or ImageFileStream) based on your scenario. Supported file formats include JPEG (.jpg, .jpeg), PNG (.png), and SVG (.svg). The maximum file size allowed is 512KB.

---

- {% arguments name="BackgroundColor" /%}{% batch datatype="string" /%}
- It is used to customize the background appearance of the emails sent to the signers.

---

- {% arguments name="ButtonColor" /%}{% batch datatype="string" /%}
- It is used to customize the button background appearance in emails.

---

- {% arguments name="ButtonTextColor" /%}{% batch datatype="string" /%}
- It is used to customize the button text color in the email.

---

- {% arguments name="EmailDisplayName" /%}{% batch datatype="string" /%}
- It will be used as the From name of emails sent to the signers. You can also define this with placeholder text like {SenderName} from BoldSign. Here, {SenderName} will be replaced with the actual sender name who is making the signature request.

---

- {% arguments name="DisclaimerTitle" /%}{% batch datatype="string" /%}
- You can set your own legal terms to which signers should agree before signing the document. This property is used to set the title of your legal terms.When a Disclaimer Title is provided, a corresponding Disclaimer Description is mandatory.

---

- {% arguments name="DisclaimerDescription" /%}{% batch datatype="string" /%}
- It is used to set the description of your legal terms.

---

- {% arguments name="RedirectUrl" /%}{% batch datatype="string" /%}
- Once the signers/reviewers have completed the signing process of the document, it will be redirected to the specified URL.

---

- {% arguments name="IsDefault" /%}{% batch datatype="boolean" /%}
- It is used to set the default brand.

---

- {% arguments name="CanHideTagLine" /%}{% batch datatype="boolean" /%}
- It is used to show/hide the "Powered By BoldSign" option available in the emails sent to the signers.
  Free plan users can't disable this feature.

---

- {% arguments name="CombineAuditTrail" /%}{% batch datatype="boolean" /%}
- It is used to combine both signed and audit trial documents as a single document in the completion email.

---

- {% arguments name="CombineAttachments" /%}{% batch datatype="boolean" /%}
- It is used to combine attachments with the signed document.

---

- {% arguments name="EmailSignedDocument" /%}{% batch datatype="string" /%}
- It is used to enable/disable the attachments in the final completion email.

  The allowed values are,  
    1. `Attachment` - This option allows you to attach the signed and audit trail documents to the completion email and also includes a link to download them.  
    2. `DocumentLink` - Displays only the link in the email to download the signed and audit trail documents.

 If the property is not set, the Attachment will be taken as a default value.

---

- {% arguments name="DocumentTimeZone" /%}{% batch datatype="string" /%}
- It is used to convert the dates in the audit trail document and date signed field to the specified timezone.

---

- {% arguments name="HideDecline" /%}{% batch datatype="boolean" /%}
- This option prevents signers to decline the document during the signing process.

---

- {% arguments name="HideSave" /%}{% batch datatype="boolean" /%}
- This option prevents signers to save their changes during the signing process and continue signing later.

---

- {% arguments name="ShowBuiltInFormFields" /%}{% batch datatype="boolean" /%}
- Enabling this option allows users in the organization to view the standard form fields.

---

- {% arguments name="AllowCustomFieldCreation" /%}{% batch datatype="boolean" /%}
- Enabling this option allows users in the organization to create custom form fields.

---

- {% arguments name="ShowSharedCustomFields" /%}{% batch datatype="boolean" /%}
- Enabling this option allows users in the organization to view the shared custom form fields.

---

- {% arguments name="ExcludeAuditTrailFromEmail" /%}{% batch datatype="boolean" /%}
- It is used to exclude the audit trail document from the completion email.

---

- {% arguments name="CustomDomainSettings" /%}{% batch datatype="object" /%}
- The `CustomDomainSettings` property enables the option to customize your email domain, allowing you to personalize the sender’s name and subdomain, thereby improving brand identity and professionalism in outgoing emails.

  {% nestedtable %}
  - {% arguments name="DomainName" /%}{% batch datatype="string" /%}
  - This is used to set the domain name of the custom domain. The domain name should be specified in subdomain format. For example, "mail.boldsign.com" or "sign.boldsign.com.".
  ---
  - {% arguments name="FromName" /%}{% batch datatype="string" /%}
  - This is used to set the display name or sender’s name for the custom domain.
  ---
  {% /nestedtable %}

---

- {% arguments name="DocumentExpirySettings" /%}{% batch datatype="object" /%}
- The `DocumentExpirySettings` property is used to set the default expiry date and reminder settings of the document.

  {% nestedtable %}
  - {% arguments name="ExpiryDateType" /%}{% batch datatype="ExpiryDateType" /%}
  - This is used to set the default expiry date type for the document. The allowed values are "Days," "Hours," and "SpecificDateTime."
  ---
  - {% arguments name="ExpiryValue" /%}{% batch datatype="integer" /%}
  - This is used to set the default expiry value in days or hours for the document, based on the ExpiryDateType. If ExpiryDate is set to "SpecificDateTime," this property is not applicable.
  ---
  - {% arguments name="EnableDefaultExpiryAlert" /%}{% batch datatype="boolean" /%}
  - This enables or disables a reminder that will be sent one day before the document expires.
  ---
  - {% arguments name="EnableAutoReminder" /%}{% batch datatype="boolean" /%}
  - This enables or disables the automatic reminders for the document.
  ---
  - {% arguments name="ReminderDays" /%}{% batch datatype="integer" /%}
  - This is used to set the number of days between each automatic reminder sent for the document.
  ---
  - {% arguments name="ReminderCount" /%}{% batch datatype="integer" /%}
  - This is used to set how many times the auto-reminder should be sent for the document.
  ---
  {% /nestedtable %}

---

- {% arguments name="SignatureFrameSettings" /%}{% batch datatype="object" /%}
- `SignatureFrameSettings` provides configuration options that control whether recipient details are shown within the signature frame.

  **Note:** The properties ShowRecipientName, ShowRecipientEmail, and ShowTimeStamp are applied only when EnableSignatureFrame is set to true. If EnableSignatureFrame is set to false, these properties are ignored and no information is displayed in the signature frame.

  {% nestedtable %}
    - {% arguments name="EnableSignatureFrame" /%}{% batch datatype="boolean" /%}
    - Enabling this option allows the signature frame to display recipient details.
    ---
    - {% arguments name="ShowRecipientName" /%}{% batch datatype="boolean" /%}
    - Enabling this option displays the recipient’s name in the signature frame.
    ---
    - {% arguments name="ShowRecipientEmail" /%}{% batch datatype="boolean" /%}
    - Enabling this option displays the recipient’s email address in the signature frame.
    ---
    - {% arguments name="ShowTimeStamp" /%}{% batch datatype="boolean" /%}
    - Enabling this option displays the timestamp in the signature frame.
    ---
  {% /nestedtable %}

{% /nestedtable %}

## Example response

***200 Success***

```json
{
  "brandId": "e33502d4-xxxx-xxxx-xxxx-6v3n85d51948"
}
```

**_NOTE:_** When you creating the brand with custom domain settings, please create a ticket to {% customlink href="mailto:support@boldsign.com" text="support@boldsign.com" /%} to verify the domain name. Include the domain details and Brand ID in your ticket. Once we receive this information, we will provide the DKIM-DNS records and custom mail DNS records for your domain. You'll need to add these records to your DNS settings and inform us once this is done. We will then activate the domain on our end, allowing emails to be sent from your specified domain.
 
Please note, there is an additional charge of $5 for each extra custom domain.
