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/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

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 'documentTimeZone=+05:30' \
      -F 'emailSignedDocument=1' \
      -F 'hideDecline=false' \
      -F 'hideSave=false'\
      -F 'showBuiltInFormFields=true' \
      -F 'allowCustomFieldCreation=true' \
      -F 'showSharedCustomFields=true' \ 
      -F 'excludeAuditTrailFromEmail=false' \
      -F 'customDomainSettings={"domainName":"mail.cubeflakes.com","fromName":"notification"}'
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("D:/SyncfusionLogo.png"),
  },
  DocumentTimeZone = "+05:30",
  BackgroundColor = "red",
  ButtonColor = "Green",
  ButtonTextColor = "White",
  EmailDisplayName = "{SenderName} from Syncfusion",
  RedirectUrl = "https://www.syncfusion.com/",
  IsDefault = true,
  CanHideTagLine = false,
  CombineAuditTrail = true,
  EmailSignedDocument = EmailSignedDocument.Attachment,
  HideDecline = false,
  HideSave = false,,
  ShowBuiltInFormFields = true,
  AllowCustomFieldCreation = true,
  ShowSharedCustomFields = true,
  ExcludeAuditTrailFromEmail = false,
  CustomDomainSettings = {
    DomainName = "mail.cubeflakes.com",
    FromName = "notification"
  }
};

//To set the brand logo using a file stream:

// brandSettings.BrandLogo = new ImageFileStream()
// {
//     FileStream = new FileStream("D:/SyncfusionLogo.png", FileMode.Open, FileAccess.Read),
//     ContentType = "image/png",
// };

// To set the brand logo using a file path:

// brandSettings.BrandLogo = new ImageFilePath()
// {
//    FilePath  = "D:/SyncfusionLogo.png",
//    ContentType = "image/png",
//},

BrandingData brandingData = await brandingClient.CreateBrandAsync(brandSettings).ConfigureAwait(false);
string brandId = brandingData.BrandId;
import boldsign

configuration = boldsign.Configuration(
    api_key = "YOUR_API_KEY"
)

with boldsign.ApiClient(configuration) as api_client:
    
    branding_api = boldsign.BrandingApi(api_client)
    
    create_brand_response = branding_api.create_brand(
        brand_name="Syncfusion",
        background_color="red",
        button_color="green",
        button_text_color="white",
        email_display_name="{SenderName} from Syncfusion",
        redirect_url="https://www.syncfusion.com/",
        is_default=True,
        can_hide_tag_line=True,
        combine_audit_trail=True,
        document_time_zone="+05:30",
        email_signed_document="1",
        hide_decline=False,
        hide_save=False,
        brand_logo="YOUR_FILE_PATH"
    )
const axios = require('axios'); 
const FormData = require('form-data'); 
const fs = require('fs'); 
const form = new FormData(); 
form.append('brandName', 'Syncfusion');
form.append('brandLogo', fs.createReadStream('D:\\SyncfusionLogo.png'));
form.append('backgroundColor', 'red'); 
form.append('buttonColor', 'green'); 
form.append('buttonTextColor', 'white'); 
form.append('emailDisplayName', '{SenderName} from Syncfusion'); 
form.append('redirectUrl', ' https://www.syncfusion.com/'); 
form.append('isDefault', 'true'); 
form.append('canHideTagLine', 'false'); 
form.append('combineAuditTrail', 'true'); 
form.append('documentTimeZone', '+05:30'); 
form.append('emailSignedDocument', '1'); 
form.append('hideDecline', 'false');
form.append('hideSave', 'false');
form.append('showBuiltInFormFields', 'true'); 
form.append('allowCustomFieldCreation', 'true'); 
form.append('showSharedCustomFields', 'true'); 
form.append('excludeAuditTrailFromEmail', 'false');
const customDomainSettings = {
  domainName: "mail.cubeflakes.com",
  fromName: "notification"
};

form.append('customDomainSettings', JSON.stringify(customDomainSettings)); 
const response = await axios.post('https://api.boldsign.com/v1/brand/create', form, { 
        
    headers: { 
        ...form.getHeaders(), 
        'X-API-KEY': '{use your API-KEY here}' 
    } 
}); 

Request body

BrandNamestringRequiredDefine the brand name that is used to set the brand while creating the signature request in the BoldSign application.
BrandLogoobjectRequiredIt is used to customize the default logo available in the emails and document signing pages. You can update or set the logo using an IImageFile 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.
BackgroundColorstringIt is used to customize the background appearance of the emails sent to the signers.
ButtonColorstringIt is used to customize the button background appearance in emails.
ButtonTextColorstringIt is used to customize the button text color in the email.
EmailDisplayNamestringIt 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.
DisclaimerTitlestringYou 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.
DisclaimerDescriptionstringIt is used to set the description of your legal terms.
RedirectUrlstringOnce the signers/reviewers have completed the signing process of the document, it will be redirected to the specified URL.
IsDefaultbooleanIt is used to set the default brand.
CanHideTagLinebooleanIt 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.
CombineAuditTrailbooleanIt is used to combine both signed and audit trial documents as a single document in the completion email.

EmailSignedDocumentstring

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.
DocumentTimeZonestringIt is used to convert the dates in the audit trail document and date signed field to the specified timezone.
HideDeclinebooleanThis option prevents signers to decline the document during the signing process.
HideSavebooleanThis option prevents signers to save their changes during the signing process and continue signing later.
ShowBuiltInFormFieldsbooleanEnabling this option allows users in the organization to view the standard form fields.
AllowCustomFieldCreationbooleanEnabling this option allows users in the organization to create custom form fields.
ShowSharedCustomFieldsbooleanEnabling this option allows users in the organization to view the shared custom form fields.
ExcludeAuditTrailFromEmailbooleanIt is used to exclude the audit trail document from the completion email.

CustomDomainSettingsobject

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.

DomainNamestringThis 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.".
FromNamestringThis is used to set the display name or sender’s name for the custom domain.

DocumentExpirySettingsobject

The DocumentExpirySettings property is used to set the default expiry date and reminder settings of the document.

ExpiryDateTypeExpiryDateTypeThis is used to set the default expiry date type for the document. The allowed values are "Days," "Hours," and "SpecificDateTime."
ExpiryValueintegerThis 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.
EnableDefaultExpiryAlertbooleanThis enables or disables a reminder that will be sent one day before the document expires.
EnableAutoReminderbooleanThis enables or disables the automatic reminders for the document.
ReminderDaysintegerThis is used to set the number of days between each automatic reminder sent for the document.
ReminderCountintegerThis is used to set how many times the auto-reminder should be sent for the document.

Example response

200 Success

{
  "brandId": "e33502d4-xxxx-xxxx-xxxx-6v3n85d51948"
}

NOTE: When you creating the brand with custom domain settings, please create a ticket to 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.