API Guide

Welcome to our API guide. This guide is meant to help the user determine which endpoints to query in order to automate processes on their own application. Please read the documentation carefully and contact our support team here if you have any questions, need additional endpoints, or experience any issues. All API requests must include the header 'X-AUTH-HEADER' with the API key as the value. Without this header, all requests will be rejected.

Documents

GET /api/v1/esign/documents

Returns an array of active documents for the account.

Parameters:

  1. page_number
    • Required: false
    • Type: Integer
    • Default: 1
    • Desc: The paginated page number to view starting with the index of 1.
  2. page_length
    • Required: false
    • Type: Integer
    • Values: [10, 25, 50, 100]
    • Default: 10
    • Desc: How many results to display per page.
  3. from_date
    • Required: false
    • Type: DateTime
    • Desc: Return records >= this date with a ISO 8601 UTC timestamp (Ex. 2026-02-10T18:34:22Z).
  4. to_date
    • Required: false
    • Type: DateTime
    • Desc: Return records <= this date with a ISO 8601 UTC timestamp (Ex. 2026-02-12T18:34:22Z).

Example Payload:

{ "page_number": 1, "page_length": 10, "from_date": "2026-02-10T18:34:22Z", "to_date": "2026-02-14T18:34:22Z" }

Example Response:

{   "successful": true,   "total_pages": 1,   "total_count": 2,   "page_number": 1,   "page_length": 10,   "documents": [     {       "name": "Payment Documents",       "enforce_signing_order": true,       "reminder_interval": 7,       "completed_at": null,       "declined_at": null,       "uuid": "N3WI-AGRD-B8S1",       "created_at": "2026-02-14T02:11:51+0000",        "signers": [          {            "name": "Mack Lanes",            "sequence": 1,            "email": null,            "phone_number": "702-123-1234",            "phone_number_country_code": "US",            "party_id": "Green Party",            "reminder_last_sent_at": "2026-02-14T05:43:01+0000",            "invite_first_sent_at": "2026-02-12405:43:01+0000",            "declined_at": null,            "downloaded_at": null,            "audit_log_downloaded_at": null,            "completed_at": "2026-02-14T05:53:01+0000"          },          {            "name": "John Smith",            "sequence": 2,            "email": "john@example.com",            "phone_number": null,            "phone_number_country_code": null,            "party_id": "Purple Party",            "reminder_last_sent_at": null,            "invite_first_sent_at": null,            "declined_at": null,            "downloaded_at": null,            "audit_log_downloaded_at": null,            "completed_at": null          }        ]     },     {       "name": "NDA Paperwork",       "enforce_signing_order": false,       "reminder_interval": null,       "completed_at": "2026-02-015T01:27:24+0000",       "declined_at": null,       "uuid": "4XAH-5FPT-CECI",       "created_at": "2026-02-14T01:25:17+0000",       "signers": []     }   ] }

Error Response From API:

{ "error": "API error explanation" }

POST /api/v1/esign/documents

To create an eSign Document programatically based off of a given template UUID, use the following parameters below. When assigning contact information to signers, a signer must have either an email address or a phone number and country code, but not both. All documents will be enqueued for processing and if the are errors in processing, they can be viewed on the dashboard side navigation menu under eSignatures -> Templates -> Bulk Send History.

Parameters:

  1. template_uuid
    • Required: true
    • Type: String
    • Desc: The UUID of the template found in the browser's URL address. (Ex. 4K2T-YXNZ-UXQT)
  2. documents
    • Required: true
    • Type: Array
    • Desc: An array of eSign documents with signers to create using the provided template UUID. A limit of 1000 is allowed per request.
  3. documents[document_name]
    • Required: true
    • Type: String
    • Desc: The name of the document (Ex. John's Employment Onboarding Documents)
  4. documents[send_as]
    • Required: true
    • Type: String
    • Values: ["account_name", "company"]
    • Desc: Would you like to send the document in your name or the company name on the account.
  5. documents[enforce_signing_order]
    • Required: true
    • Type: String
    • Values: ["0", "1"]
  6. documents[expires_at]
    • Required: false
    • Type: Date
    • Desc: When the document expires, must be the following format: "MM/DD/YYYY"
  7. documents[send_via_email]
    • Required: false
    • Type: String
    • Values: ["0", "1"]
    • Desc: Whether or not to send the signed PDFs as attachments within an email.
  8. documents[email_audit_log]
    • Required: false
    • Type: String
    • Values: ["0", "1"]
    • Desc: Whether or not to include the audit log PDF within the final email.
  9. documents[show_title_on_landing_page]
    • Required: false
    • Type: String
    • Values: ["0", "1"]
    • Desc: When accessing the portal, should the document name be displayed at the top?
  10. documents[reminder_interval]
    • Required: false
    • Type: Integer
    • Values: [3, 7, 14, 30]
    • Desc: How often reminder emails/texts go out in days if not signed. Leave blank (null) to not send reminders.
  11. documents[email_subject]
    • Required: false
    • Type: String
    • Desc: Customized email subject shown to all signatories if they are signing via email address. Max 100 characters.
  12. documents[email_body]
    • Required: false
    • Type: String
    • Desc: Customized email body shown to all signatories if they are signing via email address. Max 10,000 characters.
  13. documents[signers]
    • Required: true
    • Type: Array
    • Desc: An array of signers needing to sign the document. There must be at least 1 signer.
  14. documents[signers][signer_name]
    • Required: true
    • Type: String
  15. documents[signers][party_id]
    • Required: true
    • Type: String
    • Values: ["Green Party", "Purple Party", "Red Party", "Blue Party", "Cyan Party", "Orange Party", "Pink Party", "Yellow Party", "Silver Party", "Gold Party"]
  16. documents[signers][signer_email]
    • Required: false
    • Type: String
  17. documents[signers][access_code]
    • Required: false
    • Type: String
    • Desc: Additional code used when authenticating via the eSign Portal. Must be 6 alphanumerical digits.
  18. documents[signers][signer_phone_number_country_code]
    • Required: false
    • Type: String
    • Values: ["AD", "AE", "AF", "AG", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "ER", "ES", "ET", "FI", "FJ", "FM", "FR", "GA", "GB", "GD", "GE", "GH", "GM", "GN", "GQ", "GR", "GT", "GW", "GY", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "ML", "MM", "MN", "MR", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NZ", "OM", "PA", "PE", "PG", "PH", "PK", "PL", "PT", "PW", "PY", "QA", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SI", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SY", "SZ", "TD", "TG", "TH", "TJ", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VN", "VU", "WS", "YE", "ZA", "ZM", "ZW"]
    • Desc: The two letter country code of the phone number (Ex. US, CA, MX).
  19. documents[signers][signer_phone_number]
    • Required: false
    • Type: String
    • Desc: The signatory's phone number excluding any country codes (Ex. 702-111-1123).
  20. documents[signers][fields]
    • Required: false
    • Type: Array
    • Desc: An array of eSign fields to prefill with values on the eSign document using the template fields tag values. The tag values are not unique and the same value can be used accross other parties and fields. See Platform Documentation Bulk CSV Send for more details.
  21. documents[signers][fields][tag_value]
    • Required: true
    • Type: String
    • Desc: The tag value of the field assigned through the eSign edit page user interface (Ex. address_field_1).
  22. documents[signers][fields][field_value]
    • Required: true
    • Type: String
    • Desc: The tag value of the field assigned through the eSign edit page user interface.


Example Payload:

 {     "template_uuid": "4K2T-YXNZ-UXQT",     "documents": [       {         "document_name": "Jack's NDA",         "expires_at": "12/12/2026",         "enforce_signing_order": "1",         "send_via_email": "1",         "email_audit_log": "0",         "reminder_interval": "7",         "send_as": "company",         "show_title_on_landing_page": "1",         "email_subject": null,         "email_body": null,         "signers": [           {             "signer_name": "Jack forst",             "party_id": "Green Party",             "signer_email": "jack@example.com",             "access_code": null,             "signer_phone_number_country_code": null,             "signer_phone_number": null           },           {             "signer_name": "John Smith",             "party_id": "Purple Party",             "signer_email": null,             "access_code": null,             "signer_phone_number_country_code": "US",             "signer_phone_number": "702-123-1234",             "fields": [               {                 "tag_value": "address_field_1",                 "field_value": "Abc Street"               }             ]           }         ]       }     ]   }

Example Response:

{ "successful": true }

Error Response From Resource Creation:

{ "successful": false, "errors": ["..."] }

Error Response From API:

{ "error": "API error explanation" }

Templates

GET /api/v1/esign/templates

Returns an array of active templates for the account.

  1. page_number
    • Required: false
    • Type: Integer
    • Default: 1
    • Desc: The paginated page number to view starting with the index of 1.
  2. page_length
    • Required: false
    • Type: Integer
    • Values: [10, 25, 50, 100]
    • Default: 10
    • Desc: How many results to display per page.

Example Payload:

 {     "successful": true,     "total_pages": 1,     "total_count": 3,     "page_number": 1,     "page_length": 10,     "templates": [       {         "name": "Residential Disclosure Guide",         "uuid": "ASZ0-I6Q7-KK6E",         "created_at": "2025-12-27T23:58:48+0000"       },       {         "name": "NDA",         "uuid": "GEVG-ZMOK-J1P8",         "created_at": "2025-11-08T00:14:04+0000"       },       {         "name": "Employment Onboarding Documents",         "uuid": "DPEQ-LTBP-SZ7B",         "created_at": "2025-11-22T18:00:33+0000"       }     ]   }

{ "page_number": 1, "page_length": 10 }

Example Response:

Error Response From API:

{ "error": "API error explanation" }

GET /api/v1/esign/templates/:template_uuid/fields

Returns an array of active fields on the provided template UUID for the account.

  1. page_number
    • Required: false
    • Type: Integer
    • Default: 1
    • Desc: The paginated page number to view starting with the index of 1.
  2. page_length
    • Required: false
    • Type: Integer
    • Values: [10, 25, 50, 100]
    • Default: 10
    • Desc: How many results to display per page.

Example Payload:

{ "page_number": 1, "page_length": 10 }

Example Response:

 {     "successful": true,     "total_pages": 1,     "total_count": 7,     "page_number": 1,     "page_length": 10,     "fields": [       {         "uuid": "bb5bcba0-025f-11f1-9812-191426ad75c3",         "party_id": "Purple Party",         "field_type": "text",         "tag_value": "city_1",         "created_at": "2026-02-14T06:56:21+0000"       },       {         "uuid": "ce356bf0-f666-11f0-a10e-055520e8d993",         "party_id": "Purple Party",         "field_type": "text",         "tag_value": "address_1",         "created_at": "2026-01-17T01:16:33+0000"       },       {         "uuid": "d0342220-f666-11f0-a10e-055520e8d993",         "party_id": "Purple Party",         "field_type": "number",         "tag_value": null,         "created_at": "2026-01-17T01:16:33+0000"       },       {         "uuid": "d1b43270-f666-11f0-a10e-055520e8d993",         "party_id": "Red Party",         "field_type": "signature",         "tag_value": null,         "created_at": "2026-01-17T01:16:33+0000"       },       {         "uuid": "5fbdc7d0-d523-11f0-86aa-0742f7b6c8b8",         "party_id": "Green Party",         "field_type": "initials",         "tag_value": null,         "created_at": "2025-12-13T17:20:37+0000"       },       {         "uuid": "e6197a80-ce8f-11f0-86ca-737a14d3ad33",         "party_id": "Green Party",         "field_type": "file",         "tag_value": null,         "created_at": "2025-12-13T08:30:01+0000"       },       {         "uuid": "e87fa510-ce8f-11f0-86ca-737a14d3ad33",         "party_id": "Green Party",         "field_type": "image",         "tag_value": null,         "created_at": "2025-12-13T08:30:01+0000"       }     ]   }

Error Response From API:

{ "error": "API error explanation" }