Skip to main content

Create Template

POST 

/createtemplate

The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique template_id that can be used to generate documents based on the specified template.

Tip: Upload your PDF document to our Debug UI, where you can easily add widgets, then copy coordinates, page numbers, and more in a ready-to-use JSON format. Plus, you can directly copy the document's base64 string, making it quick to send to the API.

Supported Widgets:

Below are the common parameters that are required with all widgets:

  • type: Indicates the type of widget.
  • page: Specifies the page number on which you want to place the respective widget.
  • x, y: Denotes the horizontal and vertical coordinates of the starting point of the widget. You can use the debug UI to determine these values.
  • w, h: Represents the width and height of the widget. You can adjust these values using the debug UI.
  • required: Set to false if you want to make the widget optional. By default, it's true. Not applicable for signature-type widgets.
  • name: Provides a different name for widgets if you are providing more than one widget.
  • color: Specifies the color of the widget content. Available options include black, blue, red, and yellow, with black as the default selection if no color is specified.This parameter is optional and is applicable to the following widgets: email, name, job title, company, date, textbox, checkbox, radio button, and dropdown.
  • fontsize: Specifies the fontsize of the widget content. Available options include 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, and 28, with a default fontsize of 12 if not specified. This parameter is optional and is applicable to the following widgets: email, name, job title, company, date, textbox, checkbox, radio button, and dropdown.

List of all supported widgets:

  1. signature:
{
"type":"signature",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21
}
  1. stamp:
{
"type":"stamp",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "stamp"
}
}
  1. initials:
{
"type":"initials",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "initials"
}
}
  1. email:
{
"type":"email",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "email",
"color": "black",
"fontsize": 12
}
}
  1. name:
{
"type":"name",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "name",
"color": "black",
"fontsize": 12
}
}
  1. job title:
{
"type":"job title",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "job title",
"color": "black",
"fontsize": 12
}
}
  1. company:
{
"type":"company",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "company",
"color": "black",
"fontsize": 12
}
}
  1. date:
{
"type":"date",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "date",
"default": "04-15-2024",
"format": "mm-dd-yyyy",
"color": "black",
"fontsize": 12
}
}
  • default: Provide the date from which you want to start the date of the date widget. Must be provided in the specified format. By default, today's date provided.
  • format: Specify the date format of your choice from the options below.
    • "dd/MM/yyyy",
    • "dd-mm-yyyy",
    • "yyyy-mm-dd",
    • "mm.dd.yyyy",
    • "mm-dd-yyyy",
    • "mmm dd, yyyy",
    • "mmmm dd, yyyy",
    • "dd mmm, yyyy",
    • "dd mmmm, yyy"
  1. textbox:
{
"type":"textbox",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "textbox",
"default": "name",
"hint": "provide name",
"regularexpression":"",
"color": "black",
"fontsize": 12
}
}
  • default: Provide a default value for the textbox (Optional).
  • hint: Provide a hint for the textbox (Optional).
  • regularexpression: Provide regex for custom validation, such as allowing only numbers, only capital letters, etc. (Optional).
  1. checkbox:
{
"type":"checkbox",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "checkbox",
"values": ["male", "female", "other"],
"selectedvalues": [ "male", "female" ],
"readonly": false,
"hidelabel": false,
"color": "black",
"fontsize": 12,
"validation": {
"minselections": 0,
"maxselections": 0
}
}
}
  • values: Provide options for the checkbox list.
  • selectedvalues: Provide values that need to be selected by default (Optional).
  • readonly: Set to true if you want to set the checkbox as readonly. By default, it's false
  • hidelabel: Set to true if you want to hide labels of the checkbox. By default, it's false.
  • minselections: Provide the minimum number of checkboxes that must be selected by the user.
  • maxselections: Provide the maximum number of checkboxes that can be selected by the user.
  1. dropdown:
{
"type":"dropdown",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "dropdown",
"values": ["male", "female", "other"],
"default": "male",
"color": "black",
"fontsize": 12
}
}
  • values: Provide options for the dropdown list.
  • default: Provide the value that needs to be selected by default. Only one value is accepted. (Optional).
  1. radio button:
{
"type":"radio button",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "radio button",
"values": ["male", "female", "other"],
"default": "male",
"color": "black",
"fontsize": 12
}
}
  • values: Provide options for the radio button list.
  • default: Provide the value that needs to be selected by default. Only one value is accepted. (Optional).
  1. image:
{
"type":"image",
"page":1,
"x": 327,
"y": 628,
"w": 114,
"h": 21,
"options": {
"required": true,
"name": "image"
}
}

Request

Body

required

    file base64required
    title stringrequired
    note string
    description string

    signers

    object[]

    required

    You can provide signer optionally if you it as default signer

  • Array [

  • role string
    email string
    name string
    phone string

    widgets

    object[]

  • Array [

  • type string

    Allowed values - signature, stamp.

    page number

    The page number on which the widget should appear. use our Debug UI to calculate the value.

    x number

    x co-ordinate (left upper corner) from which widget should appear. use our Debug UI to calculate the value.

    y number

    y co-ordinate (left upper corner) from which widget should appear. use our Debug UI to calculate the value.

    w number

    Width of widget. use our Debug UI to calculate the value.

    h number

    Height of widget. use our Debug UI to calculate the value.

  • ]

  • ]

  • sendInOrder boolean

    If set to 'true', only the first signer will receive the signature request email initially. Emails to subsequent signers will be triggered sequentially, with each sent only after the previous signer has completed their signing. By default, sendInOrder is set to 'true'.

    enableOTP boolean

    true - this option will enable OTP verification. Users will receive a verification code via email, which they must enter to sign the document. false - this option will disable OTP verification, allowing users to sign the document directly without additional steps.

    enableTour boolean

    true - this option will enable a guided tour for signers, providing instructions during the signing process. false - disable the guided tour, ensuring a faster, uninterrupted signing experience.

Responses

Template created successfully!

Schema

    objectId string
    message string
Loading...