Configuring the embedded link expiration in BoldSign
In BoldSign, the default expiration for an embedded links is set to 180 days. This means that the link will be expired 180 days after its creation. However, the expiration date is not fixed and can be adjusted according to the user's needs.
Embedded links can be created for five different scenarios:
- Sending a document
- Sending a document using a template
- Signing a document
- Creating a template
- Editing an already created template
The expiration date of an embedded link can also be set during the creation of the link. The range for setting the expiration date is between 1 and 180 days.
Here are some code example to create embedded request link from template by setting expiration date
Code snippet
curl --location --request POST 'https://api.boldsign.com/v1/template/createEmbeddedRequestUrl?templateId=<template-id>' \ --header 'X-API-KEY: {Your-API-KEY}' \ --header 'Content-Type: application/json' \ --data-raw '{ "showToolbar": true, "sendViewOption": "FillingPage", "showSaveButton": true, "showSendButton": true, "locale": "EN", "showPreviewButton": true, "showNavigationButtons": true, "showTooltip": false, "linkValidTill": "2024-01-15T08:30:00" }' \
var apiClient = new ApiClient("https://api.boldsign.com", "{Your-API-KEY}"); var templateClient = new TemplateClient(apiClient); // This is an example document id, add your own template id created from the web app upon usage. var templateId = "<template-id>"; var templateRequest = new EmbeddedTemplateRequest( templateId: templateId, title: "Document from Template", message: "This document description") { // customize page options SendViewOption = PageViewOption.FillingPage, Locale = Locales.EN, ShowToolbar = true, ShowNavigationButtons = true, ShowSaveButton = true, ShowPreviewButton = true, ShowSendButton = true, ShowTooltip = false, SendLinkValidTill = DateTime.UtcNow.AddDays(50), }; var documentCreated = await templateClient.CreateEmbeddedRequestUrlAsync(templateRequest); // url to send the document from your web application var sendUrl = documentCreated.SendUrl;
import requests url = "https://api.boldsign.com/v1/template/createEmbeddedRequestUrl?templateId=<template-id>" payload = { 'ShowToolbar': 'true', 'ShowSaveButton': 'true', 'ShowSendButton': 'true', 'ShowPreviewButton': 'true', 'Locale': 'EN', 'ShowNavigationButtons': 'true', 'ShowTooltip': 'false', 'SendViewOption': 'FillingPage', 'LinkValidTill': '2024-01-15T08:30:00' } headers = { 'X-API-KEY': '{Your-API-KEY}' } response = requests.post(url, headers=headers, json=payload) print(response.text)
const axios = require('axios'); const response = await axios.post( ' https://api.boldsign.com/v1/template/createEmbeddedRequestUrl', { 'showToolbar': true, 'sendViewOption': 'FillingPage', 'locale': 'EN', 'showSaveButton': true, 'showSendButton': true, 'showPreviewButton': true, 'showNavigationButtons': true, 'showTooltip': false, 'roles': [ { 'roleIndex': 1, 'signerName': 'Signer Name 1', 'signerEmail': 'signer@boldsign.dev', 'role': 'Manager' } ], 'linkValidTill': '2024-01-15T08:30:00' }, { params: { 'templateId': '<template-id>' }, headers: { 'X-API-KEY': '{Your-API-KEY}', 'Content-Type': 'application/json' } } ).then((response) => { console.log('Response:', JSON.stringify(response.data)); }) .catch((error) => { console.error('Error:', error.message); });
<?php require_once "vendor/autoload.php"; use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; use GuzzleHttp\Psr7; $client = new Client([ 'verify' => false ]); $url = "https://api.boldsign.com/v1/template/createEmbeddedRequestUrl?templateId=5f5c6576-xxxx-xxxx-a8ef-9234ca1e7c67"; $payload = [ 'ShowToolbar' => 'true', 'ShowSaveButton' => 'true', 'ShowSendButton' => 'true', 'ShowPreviewButton' => 'true', 'Locale' => 'EN', 'ShowNavigationButtons' => 'true', 'ShowTooltip' => 'false', 'SendViewOption' => 'FillingPage', 'LinkValidTill' => '2024-07-30T08:30:00' ]; $headers = [ 'X-API-KEY' => '{Your API Key}' ]; try { $response = $client->post($url, [ 'json' => $payload, 'headers' => $headers ]); echo $response->getBody(); } catch (ClientException $e) { echo 'Request failed: ' . $e->getMessage(); echo "\nResponse: " . $e->getResponse()->getBody()->getContents(); }
In the above example, replace <template-id>
with the ID of the template you want to use to create an embedded request link. Set the linkValidTill
property to your desired expiration date. Upon executing the above code, an embedded link will be generated with the set expiration date. This link can then be used to send a document out for signature before it expires.