---
canonical_url: "https://docs.composio.dev/toolkits/esignatures"
markdown_url: "https://docs.composio.dev/toolkits/esignatures.md"
product: "platform"
version: null
last_updated: null
---

# eSignatures

eSignatures is an electronic signature platform for creating templates, sending contracts, managing signers, and tracking signing workflows.

- **Category:** signatures
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 28
- **Triggers:** 0
- **Slug:** `ESIGNATURES`
- **Version:** 00000000_00

## Tools

### Add Contract Signer

**Slug:** `ESIGNATURES_ADD_CONTRACT_SIGNER`

Add a signer to an editable contract without automatically sending a signature request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional full name of the signer. |
| `email` | string | No | Signer email address, required for email delivery or verification. |
| `mobile` | string | No | Signer mobile number in E.123 format, e.g. +12481234567. Non-US numbers must start with the country code. Required for SMS delivery or verification. |
| `auto_sign` | string ("yes" | "no") | No | Whether the provider should auto-sign for this signer. |
| `contract_id` | string | Yes | Editable contract ID to add the signer to. |
| `company_name` | string | No | Company represented by the signer. |
| `redirect_url` | string | No | URL shown to the signer after signing. |
| `signing_order` | integer | No | Order in which this signer signs the contract. |
| `multi_factor_authentications` | array | No | Authentication methods required from this signer. |
| `signed_document_delivery_method` | string ("email" | "sms" | "") | No | Channel used to deliver the signed document, or an empty string to disable final-document delivery. |
| `signature_request_delivery_methods` | array | No | Channels used when the contract is sent. Adding the signer does not send a signature request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Contract Signers

**Slug:** `ESIGNATURES_ADD_CONTRACT_SIGNERS`

Add a non-empty list of signers to an editable contract by calling the provider's singular endpoint sequentially in request order. Execution is not atomic and stops on the first provider error. The response preserves earlier signer IDs and identifies the failed input so callers can recover without retrying successful additions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signers` | array | Yes | 1-100 signers to add sequentially in request order. This is not atomic: if a provider error stops execution, earlier signers may already have been added. |
| `contract_id` | string | Yes | Editable contract ID to add every signer to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Template Collaborator

**Slug:** `ESIGNATURES_ADD_TEMPLATE_COLLABORATOR`

Create a name-only collaborator who can edit a template. This action does not send an invitation or perform any other external delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the collaborator to create without sending an invitation. |
| `template_id` | string | Yes | Template ID to add the name-only collaborator to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create and Send Contract

**Slug:** `ESIGNATURES_CREATE_AND_SEND_CONTRACT`

Create a contract from a template or from ad-hoc Markdown and immediately send signature requests to its signers. Supply exactly one of template_id or markdown. This causes external delivery; production sending is usage-priced and requires explicit confirmation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Contract title overriding the template title. |
| `emails` | object | No | Signature-request and final-contract email settings. |
| `labels` | array | No | Labels to attach to the contract. |
| `locale` | string ("cz" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "fi" | "fr" | "hr" | "hu" | "id" | "it" | "ja" | "nl" | "no" | "pl" | "pt" | "ro" | "rs" | "sk" | "sl" | "sv" | "vi" | "zh-CN") | No | Language locale for the contract. |
| `signers` | array | Yes | One or more signers for the contract. |
| `markdown` | string | No | Ad-hoc contract body, used to create a contract WITHOUT a template. Provide exactly one of template_id or markdown. Set title as well when using markdown, since there is no template title to fall back on. Document body in eSignatures Markdown. Standard CommonMark covers headers, paragraphs, bold, italic, ordered and unordered lists, tables, and images. Signer fields, line alignment, and header counters are added with the extended syntax: a JSON config in backticks appended to the end of a line, e.g. `Parent name `{"line_type": "text-input", "input_type": "only_first_signer", "input_required": "yes", "signer_field_id": "parent-name"}`. Config keys: alignment (center, right, justify); header_counter (yes); line_type (text-input, text-area, date, select-input, checkbox, radiobutton, file-upload) which is required to make a line a signer field; input_type (only_first_signer, only_second_signer, only_last_signer, every_signer) which is required for signer fields; input_required (yes, no); default_value (use YYYY-MM-DD for dates, 1 to pre-tick a checkbox); placeholder_text; select_values (newline-separated dropdown options); masked (yes, no); and signer_field_id. Use {{placeholder_key}} for text placeholders that a contract fills in later. Do not repeat the title as the first line and do not add signer fields for the signature, signer name, signing date, or signer company: those are inserted automatically. Keep radiobutton lines of one question group adjacent. |
| `metadata` | string | No | Caller-defined metadata stored with the contract. |
| `environment` | string ("test" | "production") | Yes | Whether to create and send a test or production contract. Production sending is usage-priced and can incur billing charges. |
| `template_id` | string | No | Template ID supplying the contract content, title, and labels. Provide exactly one of template_id or markdown. |
| `signer_fields` | array | No | Default values for template signer fields. |
| `custom_branding` | object | No | Company name and logo branding for the contract. |
| `expires_in_hours` | integer | No | Hours before the signature request expires. |
| `custom_webhook_url` | string | No | Webhook URL override for this contract. |
| `placeholder_fields` | array | No | Template placeholder replacements. Each item requires exactly one of replace_with_text, replace_with_markdown, or replace_with_template. |
| `assigned_user_email` | string | No | Account user to assign the contract to. |
| `confirm_external_delivery` | boolean | Yes | Must be true to acknowledge immediate external delivery to signers and that production sending can incur usage charges. Not sent to eSignatures. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Contract Draft

**Slug:** `ESIGNATURES_CREATE_CONTRACT_DRAFT`

Create a test or production contract draft from a template or from ad-hoc Markdown, without sending signature requests or otherwise delivering it externally. Supply exactly one of template_id or markdown.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Contract title overriding the template title. |
| `emails` | object | No | Signature-request and final-contract email settings. |
| `labels` | array | No | Labels to attach to the contract. |
| `locale` | string ("cz" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "fi" | "fr" | "hr" | "hu" | "id" | "it" | "ja" | "nl" | "no" | "pl" | "pt" | "ro" | "rs" | "sk" | "sl" | "sv" | "vi" | "zh-CN") | No | Language locale for the contract. |
| `signers` | array | Yes | One or more signers for the contract. |
| `markdown` | string | No | Ad-hoc contract body, used to create a contract WITHOUT a template. Provide exactly one of template_id or markdown. Set title as well when using markdown, since there is no template title to fall back on. Document body in eSignatures Markdown. Standard CommonMark covers headers, paragraphs, bold, italic, ordered and unordered lists, tables, and images. Signer fields, line alignment, and header counters are added with the extended syntax: a JSON config in backticks appended to the end of a line, e.g. `Parent name `{"line_type": "text-input", "input_type": "only_first_signer", "input_required": "yes", "signer_field_id": "parent-name"}`. Config keys: alignment (center, right, justify); header_counter (yes); line_type (text-input, text-area, date, select-input, checkbox, radiobutton, file-upload) which is required to make a line a signer field; input_type (only_first_signer, only_second_signer, only_last_signer, every_signer) which is required for signer fields; input_required (yes, no); default_value (use YYYY-MM-DD for dates, 1 to pre-tick a checkbox); placeholder_text; select_values (newline-separated dropdown options); masked (yes, no); and signer_field_id. Use {{placeholder_key}} for text placeholders that a contract fills in later. Do not repeat the title as the first line and do not add signer fields for the signature, signer name, signing date, or signer company: those are inserted automatically. Keep radiobutton lines of one question group adjacent. |
| `metadata` | string | No | Caller-defined metadata stored with the contract. |
| `environment` | string ("test" | "production") | Yes | Choose test for a demo-stamped contract or production for a live contract. |
| `template_id` | string | No | Template ID supplying the contract content, title, and labels. Provide exactly one of template_id or markdown. |
| `signer_fields` | array | No | Default values for template signer fields. |
| `custom_branding` | object | No | Company name and logo branding for the contract. |
| `expires_in_hours` | integer | No | Hours before the signature request expires. |
| `custom_webhook_url` | string | No | Webhook URL override for this contract. |
| `placeholder_fields` | array | No | Template placeholder replacements. Each item requires exactly one of replace_with_text, replace_with_markdown, or replace_with_template. |
| `assigned_user_email` | string | No | Account user to assign the contract to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Template

**Slug:** `ESIGNATURES_CREATE_TEMPLATE`

Create a reusable Markdown contract template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Template title. |
| `labels` | array | No | Optional labels to attach to the template. |
| `markdown` | string | Yes | Document body in eSignatures Markdown. Standard CommonMark covers headers, paragraphs, bold, italic, ordered and unordered lists, tables, and images. Signer fields, line alignment, and header counters are added with the extended syntax: a JSON config in backticks appended to the end of a line, e.g. `Parent name `{"line_type": "text-input", "input_type": "only_first_signer", "input_required": "yes", "signer_field_id": "parent-name"}`. Config keys: alignment (center, right, justify); header_counter (yes); line_type (text-input, text-area, date, select-input, checkbox, radiobutton, file-upload) which is required to make a line a signer field; input_type (only_first_signer, only_second_signer, only_last_signer, every_signer) which is required for signer fields; input_required (yes, no); default_value (use YYYY-MM-DD for dates, 1 to pre-tick a checkbox); placeholder_text; select_values (newline-separated dropdown options); masked (yes, no); and signer_field_id. Use {{placeholder_key}} for text placeholders that a contract fills in later. Do not repeat the title as the first line and do not add signer fields for the signature, signer name, signing date, or signer company: those are inserted automatically. Keep radiobutton lines of one question group adjacent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contract Signer

**Slug:** `ESIGNATURES_DELETE_CONTRACT_SIGNER`

Permanently remove a signer from an editable contract. Withdrawn contracts are locked and reject this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signer_id` | string | Yes | Signer ID to permanently remove from the contract. |
| `contract_id` | string | Yes | Editable contract ID containing the signer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Template

**Slug:** `ESIGNATURES_DELETE_TEMPLATE`

Permanently delete a template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Duplicate Template

**Slug:** `ESIGNATURES_DUPLICATE_TEMPLATE`

Duplicate a template with a new title plus optional placeholder replacements.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the duplicated template. |
| `template_id` | string | Yes | Source template ID to duplicate. |
| `placeholder_fields` | array | No | Optional placeholder replacements to apply to the duplicated template. For each item, exactly one of replace_with_text, replace_with_markdown, or replace_with_template is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contract

**Slug:** `ESIGNATURES_GET_CONTRACT`

Get one contract's current status, details, signers, signer field values, and temporary signed-PDF URL when available. Do not poll this tool; use provider webhooks for lifecycle changes. Records older than two weeks may be incomplete.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Contract ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contract Content

**Slug:** `ESIGNATURES_GET_CONTRACT_CONTENT`

Return the Markdown content of one contract.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Contract ID whose Markdown content to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contract Placeholder Fields

**Slug:** `ESIGNATURES_GET_CONTRACT_PLACEHOLDER_FIELDS`

Return the current placeholder replacements for one contract.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Contract ID whose placeholder replacements to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Template

**Slug:** `ESIGNATURES_GET_TEMPLATE`

Get one template's metadata, placeholder keys, and signer-field IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Template Content

**Slug:** `ESIGNATURES_GET_TEMPLATE_CONTENT`

Return the Markdown content of one template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID whose Markdown content to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite Template Collaborator

**Slug:** `ESIGNATURES_INVITE_TEMPLATE_COLLABORATOR`

Invite a collaborator to edit a template. This action sends an external invitation to the required email address and requires explicit confirmation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional name of the collaborator to invite. |
| `email` | string | Yes | Email address where eSignatures will send the collaborator invitation. |
| `template_id` | string | Yes | Template ID to invite the collaborator to edit. |
| `confirm_external_delivery` | boolean | Yes | Must be true to acknowledge that eSignatures will email this address and grant template access. Not sent to eSignatures. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Template Collaborators

**Slug:** `ESIGNATURES_LIST_TEMPLATE_COLLABORATORS`

Return all collaborators who can edit one template. The provider exposes no pagination controls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID whose collaborators to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Templates

**Slug:** `ESIGNATURES_LIST_TEMPLATES`

Return all templates available to the connected account. The provider exposes no pagination controls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Contract Content Update

**Slug:** `ESIGNATURES_PREVIEW_CONTRACT_CONTENT_UPDATE`

Preview the prospective Markdown from exact find-and-replace edits without mutating the contract.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `edits` | array | Yes | One or more exact Markdown find-and-replace edits to preview in order. |
| `contract_id` | string | Yes | Unsigned contract ID whose prospective content to preview. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Template Content Update

**Slug:** `ESIGNATURES_PREVIEW_TEMPLATE_CONTENT_UPDATE`

Preview the prospective Markdown from exact find-and-replace edits without mutating the template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `edits` | array | Yes | Exact Markdown find-and-replace edits to preview in order. |
| `template_id` | string | Yes | Template ID whose prospective content to preview. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Template Collaborator

**Slug:** `ESIGNATURES_REMOVE_TEMPLATE_COLLABORATOR`

Remove a collaborator's permission to edit a template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID to revoke access from. |
| `template_collaborator_id` | string | Yes | Collaborator ID whose editing permission to remove. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resend Sign Request

**Slug:** `ESIGNATURES_RESEND_SIGN_REQUEST`

Resend a signature request to one signer. This causes external delivery and may incur production usage charges, so explicit confirmation is required. The provider documents this operation, but its external-delivery behavior has not been live-probed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signer_id` | string | Yes | Signer ID whose signature request should be resent. |
| `contract_id` | string | Yes | Active contract ID containing the signer. |
| `confirm_external_delivery` | boolean | Yes | Must be true to acknowledge recipient notification and possible production usage charges. This confirmation is not sent to eSignatures. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Draft Contract

**Slug:** `ESIGNATURES_SEND_DRAFT_CONTRACT`

Send an existing draft to its signers. This can cause external delivery and production contracts may incur usage charges; explicit confirmation is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Draft contract ID to send. |
| `confirm_external_delivery` | boolean | Yes | Must be true to acknowledge that sending can notify recipients and a production contract can incur usage charges. Not sent to eSignatures. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contract Content

**Slug:** `ESIGNATURES_UPDATE_CONTRACT_CONTENT`

Apply exact Markdown find-and-replace edits to a contract. This always mutates the contract; use Preview Contract Content Update to inspect the result first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `edits` | array | Yes | One or more exact Markdown find-and-replace edits to apply in order. |
| `contract_id` | string | Yes | Unsigned contract ID whose content to edit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contract Placeholder Fields

**Slug:** `ESIGNATURES_UPDATE_CONTRACT_PLACEHOLDER_FIELDS`

Update selected placeholder replacements on an unsigned contract.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Unsigned contract ID to update. |
| `placeholder_fields` | array | Yes | One or more placeholder replacements to apply to the contract. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contract Signer

**Slug:** `ESIGNATURES_UPDATE_CONTRACT_SIGNER`

Update selected contact, delivery, authentication, or redirect details for a signer without resending the contract. At least one signer update field is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New signer name. At least one signer update field is required. |
| `email` | string | No | New signer email address. At least one signer update field is required. |
| `mobile` | string | No | New signer mobile number in E.123 format, e.g. +12481234567. Non-US numbers must start with the country code. At least one signer update field is required. |
| `signer_id` | string | Yes | Signer ID to update. |
| `contract_id` | string | Yes | Editable contract ID. |
| `company_name` | string | No | New signer company name. At least one signer update field is required. |
| `redirect_url` | string | No | Replacement URL shown after signing. At least one signer update field is required. |
| `multi_factor_authentications` | array | No | Replacement authentication methods required from the signer. At least one signer update field is required. |
| `signed_document_delivery_method` | string ("email" | "sms" | "") | No | Replacement channel for delivering the signed document, or an empty string to disable final-document delivery. At least one signer update field is required. |
| `signature_request_delivery_methods` | array | No | Replacement signature-request delivery channels. At least one signer update field is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Template

**Slug:** `ESIGNATURES_UPDATE_TEMPLATE`

Update a template's title and/or labels without changing its Markdown content. At least one of title or labels is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Replacement title. At least one of title or labels is required. |
| `labels` | array | No | Replacement labels. Pass an empty array to clear all labels. At least one of title or labels is required. |
| `template_id` | string | Yes | Template ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Template Content

**Slug:** `ESIGNATURES_UPDATE_TEMPLATE_CONTENT`

Apply exact Markdown find-and-replace edits to a template. This always mutates the template; use Preview Template Content Update to inspect the result first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `edits` | array | Yes | Exact Markdown find-and-replace edits to apply in order. |
| `template_id` | string | Yes | Template ID whose content to edit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Withdraw Contract

**Slug:** `ESIGNATURES_WITHDRAW_CONTRACT`

Irreversibly withdraw an active unsigned contract so it can no longer be signed. The retained contract remains queryable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Active unsigned contract ID to withdraw; drafts cannot be withdrawn. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
