Create a template from a PDF

Use this endpoint to upload PDF that include text tags.

Overview

If every PDF you send is unique and requires signers to sign in different locations. Or you need to place text fields in different locations. You can modify the content and add text tags into your document.

Text tags are simple text fields in your document that follow the format:

[tag_type(?)|signer_key|default value|options]

Quick Start Guide
Download the quick start guide v1.4 with examples on how you can add text tags into your document. We then convert these tags into signing and input fields.
Latest update checkbox grouping – supports only one checkbox being active. Example video
End Point
https://goodsign.io/api/uploadpdf
Upload Main Doc
This document will be the main document
  curl --header 'authorization: Bearer YOUR_API_TOKEN' \
 -F 'file=@./your_file_with_tags.pdf' \
 -F 'xref=[input?|signer1|xref example]' \
  https://goodsign.io/api/uploadpdf
          

Successful Response

A fully working "send_payload" is returned and can be used for
the method Send Templates

{
    "success": true,
    "msg": "Master document has been created",
    "uuid": "7a29154f-5d38-493c-b0aa-azk39283",
    "badtags": [],
    "send_payload": {
        "uuid": "7a29154f-5d38-493c-b0aa-azk39283",
        "doc_name": "goodsign_guide_v1.2.pdf",
        "attachment_names_in_order": [],
        "webhook": "",
        "cc_email": "",
        "smsverify(optional)": "boolean true or false",
        "send_in_order(optional)": "boolean true or false",
        "duplicate(optional)": "boolean default true for manually created template, false for PDFs loaded via api",
        "email_subject(optional)": "{fullname} has requested your signature on {docname}",
        "email_message(optional)": "extra message to include, not required",
        "signers": [
            {
                "key": "Signer1",
                "name": "Jane Smith",
                "email": "jane_1@example.com",
                "reminder_days": 1
            },
            {
                "key": "Signer2",
                "name": "Jane Smith",
                "email": "jane_2@example.com",
                "reminder_days": 1
            }
        ]
    }
}

Successful Response - PDF tags were broken/badly formatted

urx = upper right x, ury = upper right y

{
    "success": true,
    "msg": "Master document has been created",
    "uuid": "2d4e37d9-d1b1-42cb-a1d2-97deff874717",
    "badtags": {
        "15": {
            "text": " ]",
            "valid": false,
            "loc": {
                "urx": 418.26,
                "ury": 379.37
            }
        },
        "16": {
            "text": " ]",
            "valid": false,
            "loc": {
                "urx": 418.01,
                "ury": 400.34
            }
        }
    }
}
Attaching extra Documents (Optional)
Attach extra document to the main document
  curl --header 'authorization: Bearer YOUR_API_TOKEN' \
 -F 'file=@./your_file_with_tags.pdf' \
 -F 'uuid=UUID_OF_MAIN_DOC' \
 -F 'attachment=true' \
  https://goodsign.io/api/uploadpdf
          

Response

{"success":true,"msg":"File was attached to your master document"}
After Uploading
Your documents have now been converted into GoodSign Templates. You can find them on the Dashboard, templates tab.

You can now send this document and configure the signer etc, by using the Send Template endpoint using the UUID from your main document upload.