MCP Server for eSignatures
by esignaturescom
Verified
create_template
Creates a reusable contract template for contracts to be based on.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
document_elements | Yes | Customize template content with headers, text, images. Owners can manually replace {{placeholder fields}} in the eSignatures contract editor, and signers can fill in Signer fields when signing the document. Use placeholders for signer names if needed, instead of Signer fields. Contract title auto-inserts as the first line. | |
labels | No | Assign labels for organizing templates and contracts; labels are inherited by contracts. | |
title | Yes | Title for the new template; used for contracts based on this template. |
Input Schema (JSON Schema)
{
"properties": {
"document_elements": {
"description": "Customize template content with headers, text, images. Owners can manually replace {{placeholder fields}} in the eSignatures contract editor, and signers can fill in Signer fields when signing the document. Use placeholders for signer names if needed, instead of Signer fields. Contract title auto-inserts as the first line.",
"items": {
"oneOf": [
{
"properties": {
"text": {
"type": "string"
},
"text_alignment": {
"default": "left",
"enum": [
"center",
"right",
"justified"
],
"type": "string"
},
"type": {
"description": "Header lines. Do not add the title of the template/contract as the first line; it will already be included at the beginning of the contracts.",
"enum": [
"text_header_one",
"text_header_two",
"text_header_three"
],
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"properties": {
"depth": {
"default": 0,
"description": "Indentation level of text, defaults to 0.",
"type": "integer"
},
"text": {
"type": "string"
},
"text_alignment": {
"default": "left",
"enum": [
"center",
"right",
"justified"
],
"type": "string"
},
"text_styles": {
"description": "An array defining text style ranges within the element. For Placeholder fields, ensure the moustache brackets around the placeholder also match the style. Example for '{{rate}} percent': [{offset:0, length:8, style:'bold'}]",
"items": {
"properties": {
"length": {
"description": "Number of characters in the styled range",
"type": "integer"
},
"offset": {
"description": "Start index of styled text (0-based)",
"type": "integer"
},
"style": {
"description": "Style to apply",
"enum": [
"bold",
"italic",
"underline"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"type": {
"description": "For paragraphs and non-list text content.",
"enum": [
"text_normal"
],
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"properties": {
"depth": {
"default": 0,
"description": "Depth of list nesting, default 0. For ordered lists, numbering persists at the same or deeper indentation levels; paragraphs don't interrupt numbering.",
"type": "integer"
},
"text": {
"type": "string"
},
"type": {
"description": "For list items. Use ordered_list_item for sequential/numbered lists, unordered_list_item for bullet points. Lists continue at the same indentation level until interrupted by another element type which is not a list or indented paragraph.",
"enum": [
"ordered_list_item",
"unordered_list_item"
],
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"properties": {
"signer_field_assigned_to": {
"description": "Specifies which signer(s) can interact with this field based on signing order. 'first_signer' means only the first signer to open and sign can fill the field; others with the same or later order cannot. The same rule applies for 'second_signer' and 'last_signer'. 'every_signer' shows the field to each signer, with separate values in the final PDF. Examples: 'Primary contact for property issues' (first signer) and 'My mobile number' (every signer).",
"enum": [
"first_signer",
"second_signer",
"last_signer",
"every_signer"
],
"type": "string"
},
"signer_field_dropdown_options": {
"description": "Options for dropdown fields, separated by newline \n characters",
"type": "string"
},
"signer_field_id": {
"description": "Unique ID for the Signer field, used in Webhook notifications for value inclusion. If not specified, values are excluded from Webhook notifications and CSV exports.",
"type": "string"
},
"signer_field_required": {
"enum": [
"yes",
"no"
],
"type": "string"
},
"text": {
"type": "string"
},
"type": {
"description": "Signer fields allow input or selection by signers. Do not add any signer fields for collecting signatures, names, dates, company names or titles or anything similar at the end of documents. Radio buttons group automatically, do not insert any other elements (like text) between radio buttons that should be grouped together. Instead, place descriptive text before or after the complete radio button group.",
"enum": [
"signer_field_text",
"signer_field_text_area",
"signer_field_date",
"signer_field_dropdown",
"signer_field_checkbox",
"signer_field_radiobutton",
"signer_field_file_upload"
],
"type": "string"
}
},
"required": [
"type",
"text",
"signer_field_assigned_to"
]
},
{
"properties": {
"image_alignment": {
"default": "left",
"enum": [
"center",
"right"
],
"type": "string"
},
"image_base64": {
"description": "The base64-encoded png or jpg image (max 0.5MB).",
"type": "string"
},
"image_height_rem": {
"maximum": 38,
"minimum": 2,
"type": "number"
},
"type": {
"enum": [
"image"
],
"type": "string"
}
},
"required": [
"type",
"image_base64"
]
},
{
"properties": {
"table_cells": {
"items": {
"items": {
"properties": {
"alignment": {
"default": "left",
"enum": [
"center",
"right"
],
"type": "string"
},
"styles": {
"items": {
"enum": [
"bold",
"italic"
],
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"type": "array"
},
"type": {
"enum": [
"table"
],
"type": "string"
}
},
"required": [
"type",
"table_cells"
]
},
{
"properties": {
"template_id": {
"description": "ID of the template to insert; Placeholder fields apply within this template too.",
"type": "string"
},
"type": {
"description": "Nested template inclusion. Maximum depth: 1 level",
"enum": [
"template"
],
"type": "string"
}
},
"required": [
"type",
"template_id"
]
}
],
"type": "object"
},
"type": "array"
},
"labels": {
"description": "Assign labels for organizing templates and contracts; labels are inherited by contracts.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Title for the new template; used for contracts based on this template.",
"type": "string"
}
},
"required": [
"title",
"document_elements"
],
"type": "object"
}