> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to BoldSign

The BoldSign connector lets your AI agent act in each user's BoldSign account. Each user connects their own BoldSign API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 50 tools.

**Authentication:** API Key
**Categories:** Files & Documents
**Tools:** 50: 21 read, 20 write, 9 destructive
**Users sign in with:** API key
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=BOLDSIGN)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the BoldSign connection

   In **AgentKit > Connections**, create a BoldSign connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'boldsign'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize BoldSign:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'boldsign_get_api_credits',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "boldsign"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize BoldSign:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="boldsign_get_api_credits",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their BoldSign credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'boldsign_get_api_credits',
  toolInput: {},
  connector: 'boldsign',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="boldsign_get_api_credits",
    tool_input={},
    connection_name="boldsign",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `boldsign_get_api_credits`

Get API Credits Balance · Read-only

Retrieve the remaining API credits of the account.
Returns BalanceCredits.
Use to check whether the account can still send documents through the API.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `boldsign_get_brand`

Get Brand · Read-only

Retrieve the settings of one brand.
Returns brandId, brandName, brandLogo, colors, emailDisplayName, disclaimer text, redirectUrl and isDefault.
Use after boldsign_list_brands to read one brand.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `brandId` (`string`, required): Brand ID returned by boldsign_list_brands.

Example input: `{"brandId":"<brandId>"}`

### `boldsign_get_contact`

Get Contact · Read-only

Retrieve one contact by id.
Returns id, name, email, companyName, jobTitle and phoneNumber.
Use after boldsign_list_contacts to read one contact.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`string`, required): Contact ID returned by boldsign_list_contacts.

Example input: `{"id":"<id>"}`

### `boldsign_get_contact_group`

Get Contact Group · Read-only

Retrieve one contact group with its members.
Returns groupId, groupName, contacts, creator and directories.
Use after boldsign_list_contact_groups to read one group.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `groupId` (`string`, required): Group ID returned by boldsign_list_contact_groups.

Example input: `{"groupId":"<groupId>"}`

### `boldsign_get_document_properties`

Get Document Properties · Read-only

Retrieve the full details of one document, including its status, signers, form fields, files and history.
Returns documentId, messageTitle, status, senderDetail, signerDetails, ccDetails, formGroups, documentHistory and expiry settings.
Use after boldsign_list_documents to inspect one document. Use boldsign_list_documents to find documents.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.

Example input: `{"documentId":"<documentId>"}`

### `boldsign_get_embedded_sign_link`

Get Embedded Signing Link · Read-only

Generate a signing URL for one signer of a document created with embedded signing enabled.
Returns signLink, a URL the signer opens to sign.
Use to embed signing in your own app. The document must have been sent with enableEmbeddedSigning true.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `DocumentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `CountryCode` (`string`, optional): Phone country code of the signer when the signer is identified by phone, for example +1.
- `PhoneNumber` (`string`, optional): Phone number of the signer when the signer is identified by phone.
- `RedirectUrl` (`string`, optional): URL the signer is redirected to after signing.
- `SignerEmail` (`string`, optional): Email address of the signer the link is for.
- `SignLinkValidTill` (`string`, optional): Date and time until which the link is valid, as an ISO 8601 timestamp.

Example input: `{"DocumentId":"<DocumentId>"}`

### `boldsign_get_sender_identity`

Get Sender Identity · Read-only

Retrieve one sender identity by id or email.
Returns id, name, email, status, brandId, redirectUrl, notificationSettings and locale.
Use after boldsign_list_sender_identities. Provide either id or email.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `email` (`string`, optional): Sender identity email address. Provide this or id.
- `id` (`string`, optional): Sender identity ID. Provide this or email.

Example input: `{}`

### `boldsign_get_team`

Get Team · Read-only

Retrieve one team with its members.
Returns teamId, teamName, users, createdDate and modifiedDate.
Use after boldsign_list_teams to read one team.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `teamId` (`string`, required): Team ID returned by boldsign_list_teams.

Example input: `{"teamId":"<teamId>"}`

### `boldsign_get_template_properties`

Get Template Properties · Read-only

Retrieve the details of one template, including its roles, files, form fields and settings.
Returns templateId, title, documentTitle, roles, formGroups, commonFields, ccDetails and sharing options.
Use before boldsign_send_document_from_template to learn the role indices to fill.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.

Example input: `{"templateId":"<templateId>"}`

### `boldsign_get_user`

Get User · Read-only

Retrieve one user of the account.
Returns userId, email, firstName, lastName, role, userStatus, teamId, teamName and metaData.
Use after boldsign_list_users to read one user.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `userId` (`string`, required): User ID returned by boldsign_list_users.

Example input: `{"userId":"<userId>"}`

### `boldsign_list_brands`

List Brands · Read-only

List the brands defined in the account.
Returns a result array with brandId, brandName, brandLogo and isDefault for each brand.
Use to find a brandId for sending documents. Use boldsign_get_brand for the full details of one brand.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `boldsign_list_contact_groups`

List Contact Groups · Read-only

List contact groups, optionally filtered by search text.
Returns groupId, groupName, contacts and pageDetails.
Use to find a groupId. Use boldsign_get_contact_group for one group.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `ContactType` (`string`, optional): Whether to list groups of the user or of the organization. Allowed values: MyContacts, AllContacts. One of: `MyContacts`, `AllContacts`.
- `Directories` (`string`, optional): Directory to list groups from. Pass a single value.
- `PageSize` (`integer`, optional): Number of groups per page, up to 100.
- `SearchKey` (`string`, optional): Text matched against group names.

Example input: `{"Page":1}`

### `boldsign_list_contacts`

List Contacts · Read-only

List contacts in the BoldSign address book, optionally filtered by search text.
Returns id, name, email, companyName, jobTitle, phoneNumber and pageDetails.
Use to find a contact id. Use boldsign_get_contact for one contact.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `ContactType` (`string`, optional): Whether to list contacts of the user or of the organization. Allowed values: MyContacts, AllContacts. One of: `MyContacts`, `AllContacts`.
- `PageSize` (`integer`, optional): Number of contacts per page, up to 100.
- `SearchKey` (`string`, optional): Text matched against contact names and email addresses.

Example input: `{"Page":1}`

### `boldsign_list_custom_fields`

List Custom Fields · Read-only

List the custom form fields saved for a brand.
Returns a result array with customFieldId, fieldName, fieldType and formatting settings.
Use to find a customFieldId. Custom fields belong to a brand; use boldsign_list_brands to find one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `brandId` (`string`, required): ID of the brand whose custom fields to list.

Example input: `{"brandId":"<brandId>"}`

### `boldsign_list_documents`

List Documents · Read-only

List documents the API key owner has sent or received, filtered by status, date range, sender, recipient, label or text search.
Returns documentId, messageTitle, status, signerDetails, createdDate, expiryDate and pageDetails with totalRecordsCount.
Use for browsing and finding a documentId. Use boldsign_get_document_properties for the full detail of one document.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `BrandIds` (`string`, optional): BrandId(s) of the document. Pass a single value.
- `DateFilterType` (`string`, optional): Date Filter as SentBetween and ExpiresOn. Allowed values: SentBetween, Expiring. One of: `SentBetween`, `Expiring`.
- `EndDate` (`string`, optional): End date of the document.
- `Labels` (`string`, optional): Labels of the document. Pass a single value.
- `NextCursor` (`integer`, optional): Next cursor value for pagination, required for fetching the next set of documents beyond 10,000 records.
- `PageSize` (`integer`, optional): Number of documents per page, up to 100.
- `Recipients` (`string`, optional): Email address of a recipient to filter by. Pass a single email.
- `SearchKey` (`string`, optional): Documents can be listed by the search key present in the document like document title, document ID, sender or recipient(s) name, etc.,.
- `SentBy` (`string`, optional): Email address of the sender to filter by. Pass a single email.
- `StartDate` (`string`, optional): Start date of the document.
- `Status` (`string`, optional): Document status to filter by. Pass a single status. Allowed values: None, WaitingForMe, WaitingForOthers, NeedAttention, Completed, Declined, Revoked, Expired, Draft, Scheduled. One of: `None`, `WaitingForMe`, `WaitingForOthers`, `NeedAttention`, `Completed`, `Declined`, `Revoked`, `Expired`, `Draft`, `Scheduled`.
- `TransmitType` (`string`, optional): Transmit Type. Allowed values: Sent, Received, Both. One of: `Sent`, `Received`, `Both`.

Example input: `{"Page":1}`

### `boldsign_list_documents_on_behalf`

List Documents Sent On Behalf · Read-only

List documents sent on behalf of other senders or for other users, filtered by sender email, signer, status or date.
Returns documentId, messageTitle, status, behalfOf and pageDetails.
Use when documents were created through sender identities. Use boldsign_list_documents for the API key owner's own documents.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `BrandIds` (`string`, optional): BrandId(s) of the document. Pass a single value.
- `EmailAddress` (`string`, optional): The sender identity's email used to filter the documents returned in the API. The API will return documents that were sent on behalf of the specified email address. Pass a single value.
- `EndDate` (`string`, optional): End date of the document.
- `Labels` (`string`, optional): Labels of the document. Pass a single value.
- `NextCursor` (`integer`, optional): Next cursor value for pagination, required for fetching the next set of documents beyond 10,000 records.
- `PageSize` (`integer`, optional): Number of documents per page, up to 100.
- `PageType` (`string`, optional): The filter used to differentiate between documents sent on the user's behalf and documents sent by the user on behalf of others. The API will return documents based on the specified value. Allowed values: BehalfOfOthers, BehalfOfMe. One of: `BehalfOfOthers`, `BehalfOfMe`.
- `SearchKey` (`string`, optional): Documents can be listed by the search key present in the document like document title, document ID, sender or recipient(s) name, etc.,.
- `Signers` (`string`, optional): Email address of a signer to filter by. Pass a single email.
- `StartDate` (`string`, optional): Start date of the document.
- `Status` (`string`, optional): Document status to filter by. Pass a single status. Allowed values: None, WaitingForMe, WaitingForOthers, NeedAttention, Completed, Declined, Revoked, Expired, Draft, Scheduled. One of: `None`, `WaitingForMe`, `WaitingForOthers`, `NeedAttention`, `Completed`, `Declined`, `Revoked`, `Expired`, `Draft`, `Scheduled`.

Example input: `{"Page":1}`

### `boldsign_list_sender_identities`

List Sender Identities · Read-only

List sender identities, which are the approved email senders documents can be sent on behalf of.
Returns id, name, email, status and pageDetails.
Use to find an identity. Use boldsign_get_sender_identity for one identity.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `BrandIds` (`string`, optional): Brand ID to filter by. Pass a single ID.
- `PageSize` (`integer`, optional): Number of identities per page, up to 100.
- `Search` (`string`, optional): Text matched against identity names and emails.

Example input: `{"Page":1}`

### `boldsign_list_team_documents`

List Team Documents · Read-only

List documents sent by members of the teams the API key owner administers, filtered by user, team, status or date.
Returns documentId, messageTitle, status, senderDetail, signerDetails and pageDetails.
Use for team-wide reporting. Use boldsign_list_documents for the API key owner's own documents.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `BrandIds` (`string`, optional): BrandId(s) of the document. Pass a single value.
- `DateFilterType` (`string`, optional): Date Filter as SentBetween and Expiring. Allowed values: SentBetween, Expiring. One of: `SentBetween`, `Expiring`.
- `EndDate` (`string`, optional): End date of the document.
- `Labels` (`string`, optional): Labels of the document. Pass a single value.
- `NextCursor` (`integer`, optional): Next cursor value for pagination, required for fetching the next set of documents beyond 10,000 records.
- `PageSize` (`integer`, optional): Number of documents per page, up to 100.
- `SearchKey` (`string`, optional): Documents can be listed by the search key present in the document like document title, document ID, sender or recipient(s) name, etc.,.
- `StartDate` (`string`, optional): Start date of the document.
- `Status` (`string`, optional): Document status to filter by. Pass a single status. Allowed values: None, WaitingForMe, WaitingForOthers, NeedAttention, Completed, Declined, Revoked, Expired, Draft, Scheduled. One of: `None`, `WaitingForMe`, `WaitingForOthers`, `NeedAttention`, `Completed`, `Declined`, `Revoked`, `Expired`, `Draft`, `Scheduled`.
- `TeamId` (`string`, optional): TeamId  of the  Team document. Pass a single value.
- `TransmitType` (`string`, optional): Transmit type as Sent, Received and Both. Allowed values: Sent, Received, Both. One of: `Sent`, `Received`, `Both`.
- `UserId` (`string`, optional): UserId of the  Team document. Pass a single value.

Example input: `{"Page":1}`

### `boldsign_list_teams`

List Teams · Read-only

List the teams in the account, optionally filtered by search text.
Returns teamId, teamName, createdDate and pageDetails.
Use to find a teamId. Use boldsign_get_team to see the members of one team.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `PageSize` (`integer`, optional): Number of teams per page, up to 100.
- `SearchKey` (`string`, optional): Text matched against team names.

Example input: `{"Page":1}`

### `boldsign_list_templates`

List Templates · Read-only

List templates in the account, filtered by type, label, creator, brand or text search.
Returns templateId, templateName, createdBy, createdDate, roles and pageDetails.
Use to find a templateId. Use boldsign_get_template_properties for the roles and fields of one template.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `BrandIds` (`string`, optional): BrandId(s) of the template. Pass a single value.
- `CreatedBy` (`string`, optional): Email address of the template creator to filter by. Pass a single email.
- `EndDate` (`string`, optional): End date of the template.
- `OnBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `PageSize` (`integer`, optional): Number of templates per page, up to 100.
- `SearchKey` (`string`, optional): Text matched against template names and descriptions.
- `SharedWithTeamId` (`string`, optional): The templates can be listed by the shared teams. Pass a single value.
- `StartDate` (`string`, optional): Start date of the template.
- `TemplateLabels` (`string`, optional): Label to filter by. Pass a single label.
- `TemplateType` (`string`, optional): Which templates to list. Allowed values: mytemplates, sharedtemplate, all. One of: `mytemplates`, `sharedtemplate`, `all`.

Example input: `{"Page":1}`

### `boldsign_list_users`

List Users · Read-only

List the users of the BoldSign account, optionally filtered by search text.
Returns userId, email, firstName, lastName, role, userStatus, teamName and pageDetails.
Use to find a userId. Use boldsign_get_user for one user.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `Page` (`integer`, required): Page number to return, starting at 1.
- `PageSize` (`integer`, optional): Number of users per page, up to 100.
- `Search` (`string`, optional): Text matched against user names and emails.
- `UserId` (`string`, optional): User ID to filter by. Pass a single ID.

Example input: `{"Page":1}`

### `boldsign_add_document_tags`

Add Document Tags · Write

Add tags to a document so it can be filtered later.
Returns an empty response on success.
Use to organize documents. Use boldsign_delete_document_tags to remove tags.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `tags` (`array`, required): Array of tag strings to add to the document.

Example input: `{"documentId":"<documentId>","tags":[]}`

### `boldsign_add_template_tags`

Add Template Tags · Write

Add tags to a template so it can be filtered later.
Returns an empty response on success.
Use to organize templates. Use boldsign_delete_template_tags to remove tags.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.
- `documentLabels` (`array`, optional): Array of labels that documents sent from this template will carry.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `templateLabels` (`array`, optional): Array of labels to add to the template itself.

Example input: `{"templateId":"<templateId>"}`

### `boldsign_change_document_recipient`

Change Document Recipient · Write

Replace a signer on an in-progress document with a different person.
Returns an empty response on success.
Use when a signer needs to be reassigned. Identify the old signer by oldSignerEmail and give the new signer's name and email.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `newSignerName` (`string`, required): Name of the new signer.
- `reason` (`string`, required): Reason for the change, shown to the new signer.
- `newSignerEmail` (`string`, optional): Email address of the new signer.
- `oldSignerEmail` (`string`, optional): Email address of the signer being replaced.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `order` (`integer`, optional): Signing order position of the signer being replaced, when signing order is enabled.

Example input: `{"documentId":"<documentId>","newSignerName":"<newSignerName>","reason":"<reason>"}`

### `boldsign_create_contact_group`

Create Contact Group · Write

Create a contact group with a name and its member contacts.
Returns groupId and groupName.
Use to bundle signers that are used together. Use boldsign_update_contact_group to change a group.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `contacts` (`array`, required): Array of member objects, each with a name and email. Provide a JSON array of objects.
- `groupName` (`string`, required): Name of the new group.
- `directories` (`array`, optional): Array of directories the group belongs to.

Example input: `{"contacts":[],"groupName":"<groupName>"}`

### `boldsign_create_contacts`

Create Contacts · Write

Create one or more contacts in the BoldSign address book.
Returns createdContacts, each with the new contact id, name and email.
Use to save signers for reuse. Use boldsign_update_contact to change an existing contact.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `contacts` (`array`, required): Array of contact objects. Each needs a name and email, and may include phoneNumber (object with countryCode and number), jobTitle and companyName. Provide a JSON array of objects.

Example input: `{"contacts":[]}`

### `boldsign_create_embedded_send_url`

Create Embedded Send URL · Write

Create a draft document and return a URL that opens the BoldSign send page inside your own app.
Returns documentId and sendUrl.
Use to let a user review and place fields before sending. Use boldsign_send_document for fully API-driven sending.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `fileUrls` (`array`, required): Array of publicly reachable URLs of the files to include. At least one URL is required.
- `brandId` (`string`, optional): ID of the brand to apply to the emails and signing pages, from boldsign_list_brands. Leave empty for the default brand.
- `cc` (`array`, optional): Array of objects, each with an emailAddress, for people who receive a copy of the completed document. Provide a JSON array of objects.
- `disableEmails` (`boolean`, optional): Set true to stop BoldSign from emailing signers, for example when signing happens inside your own app.
- `disableSMS` (`boolean`, optional): Set true to stop BoldSign from sending SMS notifications to signers.
- `embeddedSendLinkValidTill` (`string`, optional): Date and time until which the returned send URL stays valid, as an ISO 8601 timestamp.
- `enableEmbeddedSigning` (`boolean`, optional): Set true to allow signing inside your own app.
- `enableSigningOrder` (`boolean`, optional): Set true to make signers sign one after another in the order given by signerOrder.
- `expiryDays` (`integer`, optional): Number of days until the signature request expires.
- `hideDocumentId` (`boolean`, optional): Set true to hide the document ID on the signed pages.
- `isSandbox` (`boolean`, optional): Set true to create the document in sandbox mode, which is free and not legally binding.
- `labels` (`array`, optional): Array of labels to tag the document with for later filtering.
- `message` (`string`, optional): Message shown to signers in the signature request email.
- `metaData` (`object`, optional): Object of custom string key-value pairs stored with the document.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `redirectUrl` (`string`, optional): URL the user is redirected to after the document is sent.
- `reminderSettings` (`object`, optional): Object that controls automatic reminders, with enableAutoReminder (boolean), reminderDays (days between reminders) and reminderCount (number of reminders).
- `sendViewOption` (`string`, optional): Which view the embedded page opens on, PreparePage to place fields or FillingPage to fill them. Allowed values: PreparePage, FillingPage. One of: `PreparePage`, `FillingPage`.
- `showNavigationButtons` (`boolean`, optional): Set true to show the navigation buttons on the embedded page.
- `showPreviewButton` (`boolean`, optional): Set true to show the preview button on the embedded page.
- `showSaveButton` (`boolean`, optional): Set true to show the save button on the embedded page.
- `showSendButton` (`boolean`, optional): Set true to show the send button on the embedded page.
- `showToolbar` (`boolean`, optional): Set true to show the BoldSign toolbar on the embedded page.
- `showTooltip` (`boolean`, optional): Set true to show tooltips on the embedded page.
- `signers` (`array`, optional): Array of signer objects. Each needs a name, emailAddress and signerType (Signer, Reviewer or InPersonSigner). Provide a JSON array of objects.
- `title` (`string`, optional): Title shown in the signature request email and the BoldSign dashboard.

Example input: `{"fileUrls":[]}`

### `boldsign_create_embedded_template_send_url`

Create Embedded Template Send URL · Write

Create a draft document from a template and return a URL that opens the BoldSign send page inside your own app.
Returns documentId and sendUrl.
Use to let a user review a template-based document before sending. Use boldsign_send_document_from_template for fully API-driven sending.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `roles` (`array`, required): Array of role objects. Each has a roleIndex matching a template role, plus signerName and signerEmail. Provide a JSON array of objects.
- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.
- `brandId` (`string`, optional): ID of the brand to apply to the emails and signing pages, from boldsign_list_brands. Leave empty for the default brand.
- `cc` (`array`, optional): Array of objects, each with an emailAddress, for people who receive a copy of the completed document. Provide a JSON array of objects.
- `disableEmails` (`boolean`, optional): Set true to stop BoldSign from emailing signers, for example when signing happens inside your own app.
- `disableExpiryAlert` (`boolean`, optional): Set true to stop expiry alert emails.
- `disableSMS` (`boolean`, optional): Set true to stop BoldSign from sending SMS notifications to signers.
- `enablePrintAndSign` (`boolean`, optional): Set true to let signers print, sign by hand and upload the document.
- `enableReassign` (`boolean`, optional): Set true to let signers reassign the document to someone else.
- `enableSigningOrder` (`boolean`, optional): Set true to make signers sign one after another in the order given by signerOrder.
- `expiryDays` (`integer`, optional): Number of days until the signature request expires.
- `hideDocumentId` (`boolean`, optional): Set true to hide the document ID on the signed pages.
- `isSandbox` (`boolean`, optional): Set true to create the document in sandbox mode, which is free and not legally binding.
- `labels` (`array`, optional): Array of labels to tag the document with for later filtering.
- `message` (`string`, optional): Message shown to signers in the signature request email.
- `metaData` (`object`, optional): Object of custom string key-value pairs stored with the document.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `redirectUrl` (`string`, optional): URL the user is redirected to after the document is sent.
- `reminderSettings` (`object`, optional): Object that controls automatic reminders, with enableAutoReminder (boolean), reminderDays (days between reminders) and reminderCount (number of reminders).
- `removeFormFields` (`array`, optional): Array of form field IDs to remove from this document.
- `roleRemovalIndices` (`array`, optional): Array of template role indices to leave out of this document.
- `sendLinkValidTill` (`string`, optional): Date and time until which the returned send URL stays valid, as an ISO 8601 timestamp.
- `sendViewOption` (`string`, optional): Which view the embedded page opens on, PreparePage to place fields or FillingPage to fill them. Allowed values: PreparePage, FillingPage. One of: `PreparePage`, `FillingPage`.
- `showNavigationButtons` (`boolean`, optional): Set true to show the navigation buttons on the embedded page.
- `showPreviewButton` (`boolean`, optional): Set true to show the preview button on the embedded page.
- `showSaveButton` (`boolean`, optional): Set true to show the save button on the embedded page.
- `showSendButton` (`boolean`, optional): Set true to show the send button on the embedded page.
- `showToolbar` (`boolean`, optional): Set true to show the BoldSign toolbar on the embedded page.
- `showTooltip` (`boolean`, optional): Set true to show tooltips on the embedded page.
- `title` (`string`, optional): Title shown in the signature request email and the BoldSign dashboard.

Example input: `{"roles":[],"templateId":"<templateId>"}`

### `boldsign_create_sender_identity`

Create Sender Identity · Write

Create a sender identity and send it an approval invitation.
Returns senderIdentityId.
Use to let documents be sent on behalf of a shared mailbox. The identity becomes usable after the recipient approves it.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `email` (`string`, required): Email address of the sender identity. An approval invitation is sent here.
- `brandId` (`string`, optional): ID of the brand to use for this identity.
- `locale` (`string`, optional): Language of the emails, for example EN. Allowed values: EN, NO, FR, DE, ES, BG, CS, DA, IT, NL, PL, PT, RO, RU, SV, Default, JA, TH, ZH_CN, ZH_TW, KO. One of: `EN`, `NO`, `FR`, `DE`, `ES`, `BG`, `CS`, `DA`, `IT`, `NL`, `PL`, `PT`, `RO`, `RU`, `SV`, `Default`, `JA`, `TH`, `ZH_CN`, `ZH_TW`, `KO`.
- `metaData` (`object`, optional): Object of custom string key-value pairs.
- `name` (`string`, optional): Display name of the sender identity.
- `notificationSettings` (`object`, optional): Object of notification toggles for this identity, such as signed, viewed and declined notifications.
- `redirectUrl` (`string`, optional): URL signers are redirected to after signing.

Example input: `{"email":"<email>"}`

### `boldsign_extend_document_expiry`

Extend Document Expiry · Write

Extend the expiry date of an in-progress document.
Returns an empty response on success.
Use before a document expires. The new date cannot be more than 180 days after the document was created.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `newExpiryValue` (`string`, required): New expiry. Format depends on the document expiry type: a date yyyy-MM-dd when expiry is in Days, an integer when in Hours, or an ISO 8601 date-time when a specific date and time. Cannot be more than 180 days after the document was created.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `warnPrior` (`boolean`, optional): Set true to notify signers one day before expiry, false to send no such notice. Leave empty to keep the document setting.

Example input: `{"documentId":"<documentId>","newExpiryValue":"<newExpiryValue>"}`

### `boldsign_merge_and_send_template`

Merge Templates And Send · Write

Merge several templates into one document and send it for e-signature.
Returns the documentId of the new document.
Use when a single request combines multiple templates. Use boldsign_send_document_from_template for one template.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `roles` (`array`, required): Array of role objects. Each has a roleIndex matching the merged template roles, plus signerName, signerEmail and optionally signerOrder and formFields. Provide a JSON array of objects.
- `templateIds` (`array`, required): Array of template IDs to merge, in the order the documents should appear.
- `allowScheduledSend` (`boolean`, optional): Set true to schedule the send for scheduledSendTime instead of sending immediately.
- `brandId` (`string`, optional): ID of the brand to apply to the emails and signing pages, from boldsign_list_brands. Leave empty for the default brand.
- `cc` (`array`, optional): Array of objects, each with an emailAddress, for people who receive a copy of the completed document. Provide a JSON array of objects.
- `disableEmails` (`boolean`, optional): Set true to stop BoldSign from emailing signers, for example when signing happens inside your own app.
- `disableExpiryAlert` (`boolean`, optional): Set true to stop expiry alert emails.
- `disableSMS` (`boolean`, optional): Set true to stop BoldSign from sending SMS notifications to signers.
- `documentTimeZone` (`string`, optional): IANA-style time zone name used for dates on the document, for example Europe/London.
- `enablePrintAndSign` (`boolean`, optional): Set true to let signers print, sign by hand and upload the document.
- `enableReassign` (`boolean`, optional): Set true to let signers reassign the document to someone else.
- `enableSigningOrder` (`boolean`, optional): Set true to make signers sign one after another in the order given by signerOrder.
- `expiryDays` (`integer`, optional): Number of days until the signature request expires.
- `hideDocumentId` (`boolean`, optional): Set true to hide the document ID on the signed pages.
- `isSandbox` (`boolean`, optional): Set true to create the document in sandbox mode, which is free and not legally binding.
- `labels` (`array`, optional): Array of labels to tag the document with for later filtering.
- `message` (`string`, optional): Message shown to signers in the signature request email.
- `metaData` (`object`, optional): Object of custom string key-value pairs stored with the document.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `reminderSettings` (`object`, optional): Object that controls automatic reminders, with enableAutoReminder (boolean), reminderDays (days between reminders) and reminderCount (number of reminders).
- `removeFormFields` (`array`, optional): Array of form field IDs to remove from this document.
- `roleRemovalIndices` (`array`, optional): Array of template role indices to leave out of this document.
- `scheduledSendTime` (`integer`, optional): Unix timestamp in seconds at which to send the document. Requires allowScheduledSend true.
- `title` (`string`, optional): Title shown in the signature request email and the BoldSign dashboard.

Example input: `{"roles":[],"templateIds":[]}`

### `boldsign_prefill_document_fields`

Prefill Document Fields · Write

Prefill values of form fields on a draft or in-progress document before signers open it.
Returns an empty response on success.
Use to populate fields such as names or amounts from your system. Field IDs come from boldsign_get_document_properties.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `fields` (`array`, required): Array of objects, each with the id of a form field and the value to prefill. Provide a JSON array of objects.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.

Example input: `{"documentId":"<documentId>","fields":[]}`

### `boldsign_remind_document`

Remind Signers · Write

Send a reminder email to signers who have not yet completed an in-progress document.
Returns an empty response on success.
Use to nudge pending signers. Only signers who still have to act are reminded.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `message` (`string`, optional): Custom message included in the reminder email.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `receiverEmails` (`string`, optional): Email address of one signer to remind. Leave empty to remind all pending signers.
- `reminderPhoneNumbers` (`array`, optional): Array of phone number objects, each with countryCode and number, to remind by SMS. Provide a JSON array of objects.

Example input: `{"documentId":"<documentId>"}`

### `boldsign_resend_sender_identity_invitation`

Resend Sender Identity Invitation · Write

Resend the approval invitation of a sender identity that is still pending.
Returns an empty response on success.
Use when the invitation email was missed.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `email` (`string`, required): Email address of the pending sender identity.

Example input: `{"email":"<email>"}`

### `boldsign_revoke_document`

Revoke Document · Write

Revoke an in-progress document so signers can no longer sign it.
Returns an empty response on success.
Use to cancel a signature request that was sent in error. Use boldsign_delete_document to remove the document from the account.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `message` (`string`, required): Reason for revoking, shown to the signers.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.

Example input: `{"documentId":"<documentId>","message":"<message>"}`

### `boldsign_send_document`

Send Document For Signature · Write

Send one or more documents, supplied as public file URLs, to signers for e-signature.
Returns the documentId of the new document.
Use for ad hoc documents. Use boldsign_send_document_from_template to send a saved template. Provide signers with their form fields; use fileUrls for the document source.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `fileUrls` (`array`, required): Array of publicly reachable URLs of the files to send, for example PDF or Word documents. At least one URL is required.
- `signers` (`array`, required): Array of signer objects. Each signer needs a name, emailAddress and signerType (Signer, Reviewer or InPersonSigner), and may carry signerOrder, authenticationType, deliveryMode and formFields that place signature, date or text fields on the document. Provide a JSON array of objects.
- `allowScheduledSend` (`boolean`, optional): Set true to schedule the send for scheduledSendTime instead of sending immediately.
- `brandId` (`string`, optional): ID of the brand to apply to the emails and signing pages, from boldsign_list_brands. Leave empty for the default brand.
- `cc` (`array`, optional): Array of objects, each with an emailAddress, for people who receive a copy of the completed document. Provide a JSON array of objects.
- `disableEmails` (`boolean`, optional): Set true to stop BoldSign from emailing signers, for example when signing happens inside your own app.
- `disableExpiryAlert` (`boolean`, optional): Set true to stop expiry alert emails.
- `disableSMS` (`boolean`, optional): Set true to stop BoldSign from sending SMS notifications to signers.
- `documentTimeZone` (`string`, optional): IANA-style time zone name used for dates on the document, for example Europe/London.
- `enableEmbeddedSigning` (`boolean`, optional): Set true to allow signing inside your own app through boldsign_get_embedded_sign_link.
- `enablePrintAndSign` (`boolean`, optional): Set true to let signers print, sign by hand and upload the document.
- `enableReassign` (`boolean`, optional): Set true to let signers reassign the document to someone else.
- `enableSigningOrder` (`boolean`, optional): Set true to make signers sign one after another in the order given by signerOrder.
- `expiryDays` (`integer`, optional): Number of days until the signature request expires.
- `hideDocumentId` (`boolean`, optional): Set true to hide the document ID on the signed pages.
- `isSandbox` (`boolean`, optional): Set true to create the document in sandbox mode, which is free and not legally binding.
- `labels` (`array`, optional): Array of labels to tag the document with for later filtering.
- `message` (`string`, optional): Message shown to signers in the signature request email.
- `metaData` (`object`, optional): Object of custom string key-value pairs stored with the document.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `reminderSettings` (`object`, optional): Object that controls automatic reminders, with enableAutoReminder (boolean), reminderDays (days between reminders) and reminderCount (number of reminders).
- `scheduledSendTime` (`integer`, optional): Unix timestamp in seconds at which to send the document. Requires allowScheduledSend true.
- `title` (`string`, optional): Title shown in the signature request email and the BoldSign dashboard.

Example input: `{"fileUrls":[],"signers":[]}`

### `boldsign_send_document_from_template`

Send Document From Template · Write

Send a document for e-signature using a saved template and the people who fill its roles.
Returns the documentId of the new document.
Use for repeatable documents such as NDAs. Use boldsign_send_document for ad hoc files.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `roles` (`array`, required): Array of role objects. Each has a roleIndex matching a template role, plus signerName and signerEmail, and optionally signerOrder, authenticationType and existingFormFields with prefilled values. Provide a JSON array of objects.
- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.
- `allowScheduledSend` (`boolean`, optional): Set true to schedule the send for scheduledSendTime instead of sending immediately.
- `brandId` (`string`, optional): ID of the brand to apply to the emails and signing pages, from boldsign_list_brands. Leave empty for the default brand.
- `cc` (`array`, optional): Array of objects, each with an emailAddress, for people who receive a copy of the completed document. Provide a JSON array of objects.
- `disableEmails` (`boolean`, optional): Set true to stop BoldSign from emailing signers, for example when signing happens inside your own app.
- `disableExpiryAlert` (`boolean`, optional): Set true to stop expiry alert emails.
- `disableSMS` (`boolean`, optional): Set true to stop BoldSign from sending SMS notifications to signers.
- `documentTimeZone` (`string`, optional): IANA-style time zone name used for dates on the document, for example Europe/London.
- `enablePrintAndSign` (`boolean`, optional): Set true to let signers print, sign by hand and upload the document.
- `enableReassign` (`boolean`, optional): Set true to let signers reassign the document to someone else.
- `enableSigningOrder` (`boolean`, optional): Set true to make signers sign one after another in the order given by signerOrder.
- `expiryDays` (`integer`, optional): Number of days until the signature request expires.
- `hideDocumentId` (`boolean`, optional): Set true to hide the document ID on the signed pages.
- `isSandbox` (`boolean`, optional): Set true to create the document in sandbox mode, which is free and not legally binding.
- `labels` (`array`, optional): Array of labels to tag the document with for later filtering.
- `message` (`string`, optional): Message shown to signers in the signature request email.
- `metaData` (`object`, optional): Object of custom string key-value pairs stored with the document.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `reminderSettings` (`object`, optional): Object that controls automatic reminders, with enableAutoReminder (boolean), reminderDays (days between reminders) and reminderCount (number of reminders).
- `removeFormFields` (`array`, optional): Array of form field IDs to remove from this document.
- `roleRemovalIndices` (`array`, optional): Array of template role indices to leave out of this document.
- `scheduledSendTime` (`integer`, optional): Unix timestamp in seconds at which to send the document. Requires allowScheduledSend true.
- `title` (`string`, optional): Title of the document. Defaults to the template title.

Example input: `{"roles":[],"templateId":"<templateId>"}`

### `boldsign_send_draft_document`

Send Draft Document · Write

Send a document that is currently in Draft status to its signers.
Returns an empty response on success.
Use to send documents created as drafts. Use boldsign_send_document to create and send in one step.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.

Example input: `{"documentId":"<documentId>"}`

### `boldsign_set_default_brand`

Set Default Brand · Write

Make a brand the default brand used when documents are sent without a brandId.
Returns a message confirming the change.
Use to change which brand applies by default. Use boldsign_list_brands to find the brandId.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `brandId` (`string`, required): ID of the brand to make the default.

Example input: `{"brandId":"<brandId>"}`

### `boldsign_update_contact`

Update Contact · Write

Update the name, email, phone, job title or company of an existing contact.
Returns an empty response on success.
Use to change a contact found with boldsign_list_contacts. Use boldsign_create_contacts to add new ones.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `email` (`string`, required): New email address of the contact.
- `name` (`string`, required): New name of the contact.
- `companyName` (`string`, optional): New company name.
- `id` (`string`, optional): ID of the contact to update, from boldsign_list_contacts.
- `jobTitle` (`string`, optional): New job title.
- `phoneNumber` (`object`, optional): Object with countryCode and number for the contact phone.

Example input: `{"email":"<email>","name":"<name>"}`

### `boldsign_update_contact_group`

Update Contact Group · Write

Rename a contact group or replace its members.
Returns an empty response on success.
Use to change a group found with boldsign_list_contact_groups.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `groupId` (`string`, required): ID of the group to update.
- `contacts` (`array`, optional): Array of member objects, each with a name and email. Replaces the current members. Provide a JSON array of objects.
- `directories` (`array`, optional): Array of directories the group belongs to.
- `groupName` (`string`, optional): New name of the group.

Example input: `{"groupId":"<groupId>"}`

### `boldsign_delete_brand`

Delete Brand · Destructive

Delete a brand.
Returns a message confirming the deletion.
Use to remove unused brands. The default brand cannot be deleted.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `brandId` (`string`, required): ID of the brand to delete.

Example input: `{"brandId":"<brandId>"}`

### `boldsign_delete_contact`

Delete Contact · Destructive

Delete a contact from the address book.
Returns an empty response on success.
Use to remove stale contacts. Documents already sent are not affected.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `id` (`string`, required): ID of the contact to delete, from boldsign_list_contacts.

Example input: `{"id":"<id>"}`

### `boldsign_delete_contact_group`

Delete Contact Group · Destructive

Delete a contact group.
Returns an empty response on success.
Use to remove unused groups. The contacts inside the group are kept.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `groupId` (`string`, required): ID of the group to delete.

Example input: `{"groupId":"<groupId>"}`

### `boldsign_delete_custom_field`

Delete Custom Field · Destructive

Delete a custom form field.
Returns a message confirming the deletion.
Use to remove unused custom fields. Use boldsign_list_custom_fields to find the customFieldId.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `customFieldId` (`string`, required): ID of the custom field to delete.

Example input: `{"customFieldId":"<customFieldId>"}`

### `boldsign_delete_document`

Delete Document · Destructive

Delete a document, moving it to trash or removing it permanently.
Returns an empty response on success.
Use to clean up documents. Use boldsign_revoke_document to stop signing without deleting.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `deletePermanently` (`boolean`, optional): Set true to delete permanently instead of moving the document to trash.

Example input: `{"documentId":"<documentId>"}`

### `boldsign_delete_document_tags`

Delete Document Tags · Destructive

Remove tags from a document.
Returns an empty response on success.
Use to clean up tags. Use boldsign_add_document_tags to add tags.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `documentId` (`string`, required): Document ID returned by boldsign_send_document or boldsign_list_documents.
- `tags` (`array`, required): Array of tag strings to remove from the document.

Example input: `{"documentId":"<documentId>","tags":[]}`

### `boldsign_delete_sender_identity`

Delete Sender Identity · Destructive

Delete a sender identity by email.
Returns an empty response on success.
Use to remove identities that are no longer in use.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `email` (`string`, required): Email address of the sender identity to delete.

Example input: `{"email":"<email>"}`

### `boldsign_delete_template`

Delete Template · Destructive

Delete a template permanently.
Returns an empty response on success.
Use to remove templates that are no longer needed. Documents already sent from the template are not affected.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.

Example input: `{"templateId":"<templateId>"}`

### `boldsign_delete_template_tags`

Delete Template Tags · Destructive

Remove tags from a template.
Returns an empty response on success.
Use to clean up tags. Use boldsign_add_template_tags to add tags.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `templateId` (`string`, required): Template ID returned by boldsign_list_templates.
- `documentLabels` (`array`, optional): Array of document labels to remove from the template.
- `onBehalfOf` (`string`, optional): Email address of the sender identity to act on behalf of. Leave empty to act as the API key owner.
- `templateLabels` (`array`, optional): Array of template labels to remove from the template.

Example input: `{"templateId":"<templateId>"}`

## Related

Other Files & Documents connectors ([all 41](/agentkit/connectors/?category=files-documents)):

- [Google Drive](/agentkit/connectors/googledrive/): Scalekit connector, OAuth, 47 tools
- [Google Forms](/agentkit/connectors/googleforms/): Scalekit connector, OAuth, 10 tools
- [Microsoft 365](/agentkit/connectors/microsoft365/): Scalekit connector, OAuth, 317 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
