Templates are documents you can prepare in advance and use to create Signature Requests. You add signer roles, place fields, and configure the document, then keep stored under your account for later use. Templates are great tools for documents you use more than once, where the only changes are signer-specific information (name, address, phone number, etc). There are two ways to interact with templates using the HelloSign API:
1. Using Embedded Templates to give your end-users the ability to create and edit templates. 2. Creating templates on HelloSign web and using those to send signature requests with the API.

Templates make it easy to use pre-filled data, which allow you to populate the Signature Request with information you already have about the signing parties. In this model, fields ("merge fields") are placed in the template and the values ("custom fields") are passed with the Signature Request.

Here are some Template endpoints that are helpful to know about:

Following the steps below allows you to programmatically copy any template with just a template_id:
1. Download the template's files by calling /template/{template_id}.
2. Pass the file to /template/update_files/{template_id} and reference the same template_id you downloaded it from. This will take the field mappings from the existing template and apply them to the same file -- allowing you to make changes to the template without creating it from scratch.
Edit Template Constraints

The file you provide the edit endpoint must have an equal or greater number of pages as the file originally used to create the template (and similar dimensions). Uploading a file with fewer pages than the original will throw an error.

The Template object returned by any of the template endpoints can be used to review the custom fields, form fields, and metadata associated with a given template. This object can also be used to see which accounts on your team have access to the template, whether or not your account owns the template, and if your account can make edits to the template.

Template Endpoints

Get Template/template/{template_id}Returns the Template specified by the template_id parameter.
List Templates/template/listReturns a list of the Templates that are accessible by you.
Create Embedded Template Draft/template/create_embedded_draftThe first step in an embedded template workflow. Creates a draft template that can then be further set up in the template 'edit' stage.
Delete Template/template/delete/{template_id}Completely deletes the template specified from the account.
Get Template Files/template/files/{template_id}Obtain a copy of the current documents specified by the template_id parameter.
Update Template Files/template/update_files/{template_id}Overlays a new file with the overlay of an existing template.
Add User to Template/template/add_user/{template_id}Gives the specified Account access to the specified Template.
Remove User from Template/template/remove_user/{template_id}Removes the specified Account's access to the specified Template.