# eSignatures.io

eSignatures.io provides a platform for sending and signing mobile-friendly contracts over the web.

- **Category:** signatures
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 17
- **Triggers:** 0
- **Slug:** `ESIGNATURES_IO`
- **Version:** 20260312_00

## Tools

### Add Template Collaborator

**Slug:** `ESIGNATURES_IO_ADD_TEMPLATE_COLLABORATOR`

Tool to grant editing access to a template with optional email invitation. Use when you need to add a collaborator who can edit the template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the collaborator who will be granted editing access to the template |
| `email` | string | No | Email address to send invitation to. The collaborator will receive an email with access link if provided. |
| `template_id` | string | Yes | Unique identifier of the template to add 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 |

### Copy Template

**Slug:** `ESIGNATURES_IO_COPY_TEMPLATE`

Tool to duplicate an existing template with optional customization. Use when you need to create a new template based on an existing one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new template copy |
| `template_id` | string | Yes | Unique identifier of the template to copy |
| `placeholder_fields` | array | No | Optional placeholder field values for customization. List of maps with 'api_key' and 'value' fields. |

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

**Slug:** `ESIGNATURES_IO_CREATE_CONTRACT`

Tool to create a new contract using a specified template and signer details. Use after selecting a template when you need to send a contract for signature.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test` | string | No | Set to 'yes' for test/demo contracts (no fees), 'no' or omit for production contracts |
| `title` | string | No | Title of the contract; defaults to template title if not provided |
| `labels` | array | No | Labels/tags for organizing contracts in dashboard |
| `locale` | string | No | Language setting for the contract (e.g., 'en', 'de', 'fr', 'es', 'ja') |
| `signers` | array | Yes | List of signer details; at least one required |
| `metadata` | string | No | Custom metadata to attach to the contract |
| `template_id` | string | Yes | ID of the template to use for the contract |
| `save_as_draft` | string | No | Set to 'yes' to save contract without sending notifications |
| `expires_in_hours` | integer | No | Number of hours until the contract expires |
| `custom_webhook_url` | string | No | Custom webhook URL for notifications (overrides default) |
| `placeholder_fields` | array | No | Dynamic fields to populate in the template |
| `assigned_user_email` | string | No | Email of team member 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 Signer

**Slug:** `ESIGNATURES_IO_CREATE_SIGNER`

Add a signer to an existing contract/signature request. This action queues the addition of a new signer to a contract that has already been created. The signer will be added asynchronously and will receive their signing invitation via email. Use this when you need to add additional signers to a contract after it has been created, or when you want to add signers incrementally rather than all at once during contract creation. Note: The API returns a queued status, indicating the operation has been accepted for processing. Adding a new signer does not automatically send an email notification unless the contract settings are configured to do so.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lang` | string | No | ISO 639-1 two-letter language code for localizing the signer's interface and emails (e.g., 'en', 'es', 'fr', 'de') |
| `name` | string | Yes | Full legal name of the signer who will sign the contract |
| `email` | string | Yes | Email address where the signer will receive signing notifications and access to the contract |
| `company_name` | string | No | Company or organization name associated with the signer |
| `phone_number` | string | No | Phone number in international E.164 format (e.g., +1234567890) for SMS notifications or verification |
| `redirect_url` | string | No | URL to redirect the signer to after they complete signing. Useful for returning users to your application. |
| `custom_fields` | object | No | Custom metadata key-value pairs to attach to the signer for tracking or integration purposes |
| `signature_request_id` | string | Yes | The contract ID to which this signer will be added. This is the 'id' field returned when creating a 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 |

### Create Template

**Slug:** `ESIGNATURES_IO_CREATE_TEMPLATE`

Tool to create a new template. Use when you want to register a reusable contract template after defining document elements.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title of the new template. |
| `labels` | array | No | Optional list of labels to organize templates and contracts. |
| `document_elements` | array | Yes | Ordered list of document elements comprising the template. |

#### 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 Signer

**Slug:** `ESIGNATURES_IO_DELETE_SIGNER`

Tool to remove a signer from a contract. Use when you need to revoke a signer's access to sign a contract.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signer_id` | string | Yes | Unique identifier of the signer to remove from the contract |
| `contract_id` | string | Yes | Unique identifier of the contract 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_IO_DELETE_TEMPLATE`

Tool to delete a specific template by its ID. Use when you need to remove an unused or outdated template after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Unique identifier of the template to 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 |

### Generate Contract PDF Preview

**Slug:** `ESIGNATURES_IO_GENERATE_CONTRACT_PDF_PREVIEW`

Tool to generate a PDF preview of a contract and receive a webhook notification with a download URL. Use when you need to preview the contract document before or after signing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Unique identifier of the contract to generate PDF preview for |

#### 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_IO_GET_CONTRACT`

Tool to retrieve details of a specific contract by its ID. Returns contract status, signer information, and values entered by signers. Use when you need to check contract status or download signed PDF.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Unique identifier of the contract 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_IO_GET_TEMPLATE`

Tool to retrieve details of a specific template by its ID. Use when you need to fetch a template’s metadata after selecting its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Unique identifier of the template 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 |

### List Template Collaborators

**Slug:** `ESIGNATURES_IO_LIST_TEMPLATE_COLLABORATORS`

Tool to retrieve all collaborators with editing access to a template. Returns collaborator IDs, names, emails, and editor URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Unique identifier of the template to list collaborators for |

#### 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_IO_LIST_TEMPLATES`

Tool to retrieve a list of all templates. Use when you need to browse available templates before selecting one.

#### 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_IO_REMOVE_TEMPLATE_COLLABORATOR`

Tool to revoke a collaborator's template editing permissions. Use when you need to remove access for a specific collaborator from a template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Unique identifier of the template to revoke collaborator access from |
| `template_collaborator_id` | string | Yes | Unique identifier of the collaborator to remove from the template |

#### 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 Contract to Signer

**Slug:** `ESIGNATURES_IO_SEND_CONTRACT_TO_SIGNER`

Tool to send or resend a contract signature request to a specific signer via their configured communication channel. Use when you need to deliver a contract to a signer for their signature.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signer_id` | string | Yes | Unique identifier of the signer to send the contract to |
| `contract_id` | string | Yes | Unique identifier of the contract to send |

#### 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 Signer

**Slug:** `ESIGNATURES_IO_UPDATE_SIGNER`

Tool to update contact details of an existing signer on a contract. Use when you need to change a signer's name, email, or mobile number. Note: The contract is not automatically emailed when the signer's information is updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Updated full name of the signer |
| `email` | string | No | Updated email address of the signer |
| `mobile` | string | No | Updated mobile number of the signer in international format with country code (e.g., +14155559999) |
| `signer_id` | string | Yes | The ID of the signer whose information should be updated |
| `contract_id` | string | Yes | The ID of the contract containing the signer 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

**Slug:** `ESIGNATURES_IO_UPDATE_TEMPLATE`

Tool to update an existing template's content, title, or labels. Use when you need to modify a template's configuration without creating a new one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Updated title of the template |
| `labels` | array | No | Array of labels for organizing templates |
| `template_id` | string | Yes | Unique identifier of the template to update |
| `document_elements` | array | No | Array of document element objects defining the template content. Replaces existing elements. |

#### 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_IO_WITHDRAW_CONTRACT`

Tool to withdraw a contract by its ID. Use when you need to prevent further signing of a contract that hasn't been fully signed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contract_id` | string | Yes | Unique identifier of the contract to withdraw |

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