ZapSign API
Create document via Template
Create document via Template

Optional Fields

  • Document - JSON root:
    • lang (string): document language. Possible values: "pt-br" (Portuguese), "es" (Spanish), "en" (English). Default: "pt-br"
    • disable_signer_emails (boolean): To disable emails sent to signers, send this parameter to true. Default: false
    • signed_file_only_finished (boolean): To disable the "Download Original" and "Download Signed" buttons from the signer experience, enable this flag. Thus, you are the one who will be in charge of delivering the signed_file to the signatory. Default: false
    • brand_logo (string): If you want to customize the logo of the signing experience for this specific document, submit the image URL (must be a publicly accessible link). Default: ""
    • brand_primary_color (string): If you want to customize the primary (button) color of the signing experience for this specific document, send it in rgb or hexadecimal. Ex: "#0011ee". Default: ""
    • brand_name (string): if you want to customize the sender name of emails sent to the signer, enter the brand name here. For example, if you entered "XPTO Advogados", the sender of the email will be "XPTO Advogados via ZapSign". Max-length: 100 characters. Default: ""
    • external_id (string): ID of the document in your application. Default: ""
    • folder_path (string): path of the folder inside ZapSign where the document will be placed. If the folders do not exist, they will be created automatically. Requirements: (1) folder_path can be up to 255 characters long, (2) each folder can be up to 50 characters long, (3) there is a limit of 5 folder levels. Ex.: "/api/" or "/folder1/folder2/folder3/". Default: "/" (no folder).
    • created_by (string): email of the user who will be defined as creator of the document, for internal organization purposes. If the email does not exist or is not your account user, this parameter will be ignored. Default: "" (document will have template owner as creator)
    • signer_has_incomplete_fields (boolean): If set to true, the signer will be redirected to fill out the template form before signing the document. Default: false

Example Request

Parameters must be in JSON format in the request body:
"signer_name":"João dos Santos",
"de":"{{FULL NAME}}",
"para":"Foo bar"
"de":"{{FULL ADDRESS}}",
"para":"2989 Heller Crossing Apt. 023 - Springfield, NY / 13347"


"open_id": 5,
"token": "eb9c367a-e62f-4992-8360-b0219deaeecc",
"status": "pending",
"name": "Contrato de Admissão",
"original_file": "",
"signed_file": null,
"created_at": "2020-04-16T03:33:46.241747Z",
"last_update_at": "2020-04-16T03:33:46.241775Z",
"signers": [
"token": "921c115d-4a6e-445d-bdca-03fadedbbc0b",
"status": "new",
"name": "João da Silva",
"email": "",
"phone_country": "",
"phone_number": "",
"times_viewed": 0,
"last_view_at": null,
"signed_at": null
"answers": [
"variable": "FULL NAME",
"value": "Foo bar"
"value": "999-99-XXXX"
"variable": "FULL ADDRESS",
"value": "2989 Heller Crossing Apt. 023 - Springfield, NY / 13347"
What you should do with this response is send the signature link to the signer through your application.
The signature link consists of the route:{{signer_token}}
Thus, in the example above, where we have one signer, you must send the following signature link:
- João da Silva:
And now just wait for him to sign!
More than one signer? If you want to add more signers, use the "Add Signer" endpoint, receive the new signer's token and send the signature link as explained above.

How to create a Dynamic Template at ZapSign

A dynamic template in ZapSign is a .docx (Word) with variables, represented by double braces. Example:
Example Dynamic Template
To insert a dynamic template into ZapSign, log into your account and go to the "Templates" tab.
Note: You must purchase a monthly API plan to gain access (including for testing) to Templates. Each document created via Template will only spend 1 API credit, there is no extra charge for using Templates.
Log into your account, click on "Templates", "New Template" and "Dynamic Template".
The "template_id" of your Dynamic Template can be found here:
"template_id" do seu Modelo dinâmico

More than one signer

If you need to define more signer fields or need more than one signer, use the "Update Signer" and "Add Signer" endpoints.