Sender identities
BoldSign allows you to perform various operations on behalf of another user. For example, you can send a document to the signer on behalf of another user. The operations like sending documents, download audit log, revoke, remind, change access code, etc., can be performed on behalf of.
To perform on behalf of operations, the sender identity should be added and approved. Add the user as a sender identity, and then the user will get an email for approval. Once the user approves the request, you can perform operations on behalf of that user.
This section demonstrates how to create a sender identity, update the identity, delete an identity, list all the identities, request for approval, resend the invitation, and fetch an identity details.
Create identity
post/v1/senderIdentities/createCreates a new sender identity by taking the name and email address. Multiple sender identities can be created.
Code snippet
curl -X 'POST' \
'https://api.boldsign.com/v1/senderIdentities/create' \
-H 'accept: */*' \
-H 'X-API-KEY: {your API key}' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
-d '{
"Name": "Luther Cooper",
"Email": "luthercooper@cubeflakes.com",
"RedirectUrl": "https://boldsign.com",
"BrandId": "c94d34e9-8f1f-4ab1-926d-daa32095a851",
"NotificationSettings": {
"Viewed": true,
"Sent": false,
"DeliveryFailedFor": true,
"Declined": true,
"Revoked": true,
"Reassigned": true,
"Completed": true,
"Signed": true,
"Expired": true,
"AuthenticationFailed": true,
"Reminders": true,
"AttachSignedDocument": false
},
"MetaData": {
"TenantId": "xxxxx070-xxxx-xxxx-xxxx-757xxxxxxxxx",
"AccountPlan": "Free"
},
"Locale": "EN"
}'
var apiClient = new ApiClient("https://api.boldsign.com", "Your_API_Key");
var senderIdentityClient = new SenderIdentityClient(apiClient);
var senderIdentityRequest = new SenderIdentityRequest("Luther Cooper", "luthercooper@cubeflakes.com", null);
senderIdentityRequest.MetaData = new Dictionary<string, string>()
{
["tenantId"] = "xxxxx070-xxxx-xxxx-xxxx-757xxxxxxxxx",
["accountPlan"] = "Free"
};
var senderIdentityCreated = senderIdentityClient.CreateSenderIdentity(senderIdentityRequest);
import boldsign
configuration = boldsign.Configuration(api_key="YOUR_API_KEY")
with boldsign.ApiClient(configuration) as api_client:
sender_identities_api = boldsign.SenderIdentitiesApi(api_client)
sender_identity_request = boldsign.CreateSenderIdentityRequest(
name="Luther Cooper",
email="luthercooper@cubeflakes.com",
)
sender_identities_api.create_sender_identities(sender_identity_request)
<?php require_once "vendor/autoload.php";
use BoldSign\Configuration;
use BoldSign\Api\SenderIdentitiesApi;
use BoldSign\Model\CreateSenderIdentityRequest;
$config = new Configuration();
$config->setApiKey('YOUR_API_KEY');
$sender_identities_api = new SenderIdentitiesApi($config);
$sender_identity_request = new CreateSenderIdentityRequest();
$sender_identity_request->setName('Luther Cooper');
$sender_identity_request->setEmail('luthercooper@cubeflakes.com');
$sender_identities_api->createSenderIdentities($sender_identity_request);
ApiClient client = Configuration.getDefaultApiClient();
client.setApiKey("YOUR_API_KEY");
SenderIdentitiesApi senderIdentitiesApi = new SenderIdentitiesApi(client);
CreateSenderIdentityRequest senderIdentityRequest = new CreateSenderIdentityRequest();
senderIdentityRequest.setName("Luther Cooper");
senderIdentityRequest.setEmail("luthercooper@cubeflakes.com");
senderIdentitiesApi.createSenderIdentities(senderIdentityRequest);
import { SenderIdentitiesApi, CreateSenderIdentityRequest } from "boldsign";
const senderIdentitiesApi = new SenderIdentitiesApi();
senderIdentitiesApi.setApiKey("YOUR_API_KEY");
const senderIdentityRequest = new CreateSenderIdentityRequest();
senderIdentityRequest.name = "Luther Cooper";
senderIdentityRequest.email = "luthercooper@cubeflakes.com";
senderIdentitiesApi.createSenderIdentities(senderIdentityRequest);
Request body
| NamestringRequired | Name of the sender identity. | ||||||||||||||||||||||||
| EmailstringRequired | Email address of the sender identity. | ||||||||||||||||||||||||
| RedirectUrlstring | You can set this property to redirect to a specific URL once the user has either approved or rejected. | ||||||||||||||||||||||||
| BrandIdstring | You can customize the logo, colors, and other elements of the emails to match your company branding, and the brand logo will appear on the approval page. The ID of the existing brand can be obtained from the branding API or the web app. | ||||||||||||||||||||||||
NotificationSettingsobject | Notification Settings of the sender identity.
| ||||||||||||||||||||||||
| MetaDatadictionary | Additional information about the sender identity can be provided as key-value pairs. A maximum of 50 key-value pairs may be included. Each key can have a maximum length of 40 characters, while each value can contain up to 500 characters. | ||||||||||||||||||||||||
| Localestring | Configure the preferred language for your sender identity. This setting ensures that all associated emails and sender identity related pages are displayed in the specified language. |
Language support
Sender identity emails and pages can be customized in the following languages
- EN (English)
- FR (French)
- NO (Norwegian)
- DE (German)
- ES (Spanish)
- BG (Bulgarian)
- CS (Czech)
- DA (Danish)
- IT (Italian)
- NL (Dutch)
- PL (Polish)
- PT (Portuguese)
- RO (Romanian)
- RU (Russian)
- SV (Swedish)
- JA (Japanese)
- TH (Thai)
- ZH_CN (Simplified Chinese)
- Zh_TW (Traditional Chinese)
- KO (Korean)
Example response
201 Created
{
"senderIdentityId": "2e96f9ad-xxxx-xxxx-xxxx-3063e73f04f8"
}
Error response
| Error Type | Description |
AlreadyExistsInAnotherOrganization | The specified sender identity email address is already associated with another organization. |
AlreadyExists | The specified sender identity email address is already associated with your account. |
LimitReached | The sender identity creation limit has been exceeded for your account. |
BouncedEmail | The specified sender identity email address has permanently bounced. |
InvalidBrandId | The Brand ID provided is invalid. Check that your request are specifying a valid brand ID. |
SelfCreation | Cannot create sender identity for yourself. |
NoApiAccess | You do not have permission to access this API endpoint. |
Best Practice: Use a System Identity for Delegated Actions
When managing sender identities or sending documents on behalf of others, use a dedicated system identity instead of exposing a user level account. Choosing a neutral address such as admin@companyname.com keeps notifications consistent, protects individual privacy, and simplifies credential rotation and audit logging.