The SignEasy API Developer Hub

Welcome to the SignEasy API developer hub. You'll find comprehensive guides and documentation to help you start working with SignEasy API as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    
Suggest Edits

The user object

 

Attribute
Type
Description

account_type

integer

The plan the user is currently on.

0: Basic or the free plan
1: Lifetime subscription of Standard
2: Standard plan
3: Plus plan
4: Premium plan

activation_time

time

The time in epoch, when the user verified their email address.

is_auto_renew

integer

If the user is on an auto renewing subscription.

company

string

Company details updated by the user. Name of the company will show up here.

company_size

string

Company details updated by the user.

created_time

time

The time in epoch, when the user created the account.

document_credits

integer

The number of signing credits the user has, if they are on a Basic plan.

email

string

The email address of the user.

first_name

string

First name of the user.

id

integer

User ID of the user.

is_paid

integer

Flag indicating if the user is on a paid plan.

0: Free plan
1: Paid plan

last_name

string

Last name of the user.

last_modified_time

time

The time in epoch, when the user last made changes to their profile information.

referrer_code

string

The referral code of the user.

referrer_promo_left

integer

The number of times, the user's referral code can be redeemed.

subscription_expiry_time

time

The time in epoch, when the user's subscription will expire. If auto renewal is turned on, it would renew at this time.

imported_file_count

integer

The number of times the user imported a document.

signed_file_count

integer

The number of times the user signed a document.

card_last4

integer

The last 4 digits of the card, which will be used for subscription renewal.

Only applicable to users who signed up for a subscription on the SignEasy webapp.

card_brand

string

The card brand, which will be used for subscription renewal.

Only applicable to users who signed up for a subscription on the SignEasy webapp.

status

integer

Flag indicating if the user has an activated account or not.

0: Not activated
1: Activated account

email_verified

integer

Flag indicating if the user has verified their email address with SignEasy.

0: Not verified. API calls will not function for users with unverified email addresses.
1: Email address verified

{
    "account_type": 0,
    "activation_time": 1395392655,
    "is_auto_renew": 0,
    "company": "ACME Corp.",
    "company_size": null,
    "created_time": 1391545509,
    "document_credits": 0,
    "email": "john.doe@gmail.com",
    "first_name": "John",
    "id": 699829,
    "is_paid": 0,
    "last_name": "Doe",
    "last_modified_time": 1395367450,
    "referrer_code": "gSwRXxut",
    "referrer_promo_left": 5,
    "subscription_expiry_time": null,
    "imported_file_count": 72,
    "signed_file_count": 16,
    "card_last4": null,
    "card_brand": null,
    "status": 1,
    "email_verified": 1
}
Suggest Edits

Retrieve user details

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/user/

Retrieve information about the current authorized user. You will receive these user details even if the user has not verified their email address or if the account is not active.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/user/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/user/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/user/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/user/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/user/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "account_type": 0,
    "activation_time": 1395392655,
    "is_auto_renew": 0,
    "company": "ACME Corp.",
    "company_size": null,
    "created_time": 1391545509,
    "document_credits": 0,
    "email": "john.doe@gmail.com",
    "first_name": "John",
    "id": 699829,
    "is_paid": 0,
    "last_name": "Doe",
    "last_modified_time": 1395367450,
    "referrer_code": "gSwRXxut",
    "referrer_promo_left": 5,
    "subscription_expiry_time": null,
    "imported_file_count": 72,
    "signed_file_count": 16,
    "card_last4": null,
    "card_brand": null,
    "status": 1,
    "email_verified": 1
}
 
Suggest Edits

The original file object

 

Attribute
Type
Description

created_time

time

The time in epoch, at which the file was imported into the account.

id

integer

The unique ID of this original file. Also referred to as original_file_id.

last_modified_time

time

The time in epoch, at which the last modifications were made to this file.

name

string

The name of the document.

{
  "created_time": 1408949190,
  "id": 3114302,
  "last_modified_time": 1408949111,
  "name": "NDA.pdf"
}
Suggest Edits

Retrieve an original file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/original/id/

Path Params

id
int32
required

The file id of the original file

Retrieve information about an original file of a user with id.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/original/id/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/original/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/original/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/original/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/original/id/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "created_time": 1408949190,
  "id": 3114302,
  "last_modified_time": 1408949111,
  "name": "NDA.pdf"
}
 
Suggest Edits

Retrieve all original files

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/original/

Retrieve information about all the original file of a user.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/original/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/original/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/original/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/original/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/original/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "count":3,
  "files":[
    {
      "created_time":1408948557,
      "id":3114300,
      "last_modified_time":1408948477,
      "name":"H000180CM010780_.pdf"
    },
    {
      "created_time":1408949190,
      "id":3114302,
      "last_modified_time":1408949111,
      "name":"intl_nuñez.pdf"
    },
    {
      "created_time":1408947448,
      "id":3114298,
      "last_modified_time":1408947448,
      "name":"Try it now - demo.pdf"
    }
  ]
}
 
Suggest Edits

Import a new document

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/original/

Form Data

name
string
required

Display name of the file (make sure you include the extension of the file)

file
file
required

The actual file being imported or uploaded

rename_if_exists
boolean

Use this flag, if you want to rename the imported document in case there is already one with the same name. Defaults to false and returns filename_exists error in a case where the document name already exists.

Import or upload a new document into SignEasy to open it for signing (either yourself or requesting signatures). The file can be gzip compressed and uploaded to speed up the upload. Make sure you set the Content-Encoding header as gzip for the server to recognize the compression. If you do not pass any Content-Encoding header, the server assumes an uncompressed file upload.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/original/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/original/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/original/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/original/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/original/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "created_time": 1413798221,
    "id": 3092010,
    "last_modified_time": 1413798221,
    "name": "TDonate.pdf"
}
{
    "error_code": "filename_exists",
    "message": "There is already a file with the same name. Please use a different name."
}
{
    "error_code": "file_conversion_failure",
    "message": "File could not be converted to PDF."
}
 
Suggest Edits

Download an original file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/original/id/download/

Path Params

id
int32
required

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/original/id/download/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/original/id/download/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/original/id/download/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/original/id/download/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/original/id/download/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

// Stream of file content
 
Suggest Edits

Delete an original file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api-ext.getsigneasy.com/v1/files/original/id/

Path Params

id
int32
required
 
curl --request DELETE \
  --url https://api-ext.getsigneasy.com/v1/files/original/id/
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-ext.getsigneasy.com/v1/files/original/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/original/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-ext.getsigneasy.com/v1/files/original/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/original/id/"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
	 "error_code": "unauthorized_resource",
	 "message": "Unauthorized"
}
 
Suggest Edits

The signed file object

 

Attribute
Type
Description

created_time

time

The time in epoch, when this signed file was created.

checksum

string

A unique document fingerprint associated with this signed file.

id

integer

The unique ID for this signed file.

last_modified_time

time

The time in epoch, which this document was last updated.

name

string

The name of the signed document.

pending_file

pending file object

The pending file that this completed document originated from.

If it is a self-signed document, this attribute value would be null.

The object definition can be found here.

{  
   "created_time":1409296771,
   "checksum":"bc3dc717816e9ef027600c57b8370b1bd5fc50fe72d2b746d9",
   "id":1085102,
   "last_modified_time":1409296771,
   "name":"NDA for ACME.pdf",
   "pending_file":null,
   "public_identifier":"E740MX4j3vFOobTo7iWLZQ=="
}
Suggest Edits

Retrieve a signed file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/signed/id/

Path Params

id
int32
required

The file id of the signed file

Retrieve information about a signed file of a user with id signed_file_id.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/signed/id/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/signed/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/signed/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/signed/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/signed/id/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "created_time":1409296771,
  "checksum":"bc3dc717816e9ef027600c57b8370b1bd5fc50fe72d2b746d9",
  "id":1085102,
  "last_modified_time":1409296771,
  "name":"NDA for ACME.pdf",
  "pending_file":{
  "created_time":1439460908,
  "id":69,
  "is_ordered":1,
  "last_modified_time":1439460908,
  "logo":"https://s3.amazonaws.com/selogos/700888/logo.png",
  "name":"NDA",
  "next":110,
  "owner_email":"shannon.adams@acme.com",
  "owner_first_name":"Shannon",
  "owner_last_name":"Adams",
  "owner_company":"ACME Corp.",
  "has_markers":0,
  "recipients":[
    {
      "created_time":1439460908,
      "email":"jack@company.com",
      "first_name":"Jack",
      "last_name":"Wilshere",
      "last_modified_time":1439460908,
      "order_id":1,
      "recipient_id":110,
      "status":"not_viewed"
    },
    {
      "created_time":1439460908,
      "email":"arsene@company.com",
      "first_name":"Arsene",
      "last_name":"Weng",
      "last_modified_time":1439460908,
      "order_id":2,
      "recipient_id":111,
      "status":"not_viewed"
    }
  ],
  "status":"incomplete"
},
  "public_identifier":"E740MX4j3vFOobTo7iWLZQ=="
}
 
Suggest Edits

Retrieve all signed files

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/signed/

Retrieve information about all the signed files of a user.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/signed/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/signed/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/signed/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/signed/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/signed/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "count": 2,
  "files": [
    {
      "created_time": 1409296771,
      "checksum": "bc3dc717816e9ef027600c57b8373bf6943e3407320b1bd5fc50fe72d2b746d9",
      "id": 1085102,
      "last_modified_time": 1409296771,
      "name": "H000180CM010780_.pdf",
      "pending_file": null,
      "public_identifier": "9Bu9ULkQboiY2uB9Ff7Iig=="
    },
    {
      "created_time": 1409296771,
      "checksum": "bc3dc717816e9ef027600c57b8370b1bd5fc50fe72d2b746d9",
      "id": 1085102,
      "last_modified_time": 1409296771,
      "name": "NDA for ACME.pdf",
      "pending_file": {
        "created_time": 1439460908,
        "id": 69,
        "is_ordered": 1,
        "last_modified_time": 1439460908,
        "logo": "https://s3.amazonaws.com/selogos/700888/logo.png",
        "name": "NDA",
        "next": 110,
        "owner_email": "shannon.adams@acme.com",
        "owner_first_name": "Shannon",
        "owner_last_name": "Adams",
        "owner_company": "ACME Corp.",
        "has_markers": 0,
        "recipients": [
          {
            "created_time": 1439460908,
            "email": "jack@company.com",
            "first_name": "Jack",
            "last_name": "Wilshere",
            "last_modified_time": 1439460908,
            "order_id": 1,
            "recipient_id": 110,
            "status": "not_viewed"
          },
          {
            "created_time": 1439460908,
            "email": "arsene@company.com",
            "first_name": "Arsene",
            "last_name": "Weng",
            "last_modified_time": 1439460908,
            "order_id": 2,
            "recipient_id": 111,
            "status": "not_viewed"
          }
        ],
        "status": "incomplete"
      },
      "public_identifier": "E740MX4j3vFOobTo7iWLZQ=="
    }
  ]
}
 
Suggest Edits

Rename a signed file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api-ext.getsigneasy.com/v1/files/signed/id/

Path Params

id
int32
required

The ID of the signed file.

Form Data

name
string

New name of the file (make sure you include extension of the file)

Update a signed file. Use this API to either rename an signed file.

curl --request PUT \
  --url https://api-ext.getsigneasy.com/v1/files/signed/id/
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-ext.getsigneasy.com/v1/files/signed/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/signed/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-ext.getsigneasy.com/v1/files/signed/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/signed/id/"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "error_code": "filename_exists",
    "message": "There is already a file with the same name. Please use a different name."
}
 
Suggest Edits

Download a signed file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/signed/id/download/

Path Params

id
int32
required
 
curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/signed/id/download/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/signed/id/download/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/signed/id/download/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/signed/id/download/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/signed/id/download/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

// Stream of file content
 
Suggest Edits

Delete a signed file

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api-ext.getsigneasy.com/v1/files/signed/id/

Path Params

id
int32
required

Failure scenarios

  • If user doesn't have access to a particular file, a 401 is returned
  • If a file with the id is not present, a 401 is returned as the API assumes the user is trying to delete a file that he doesn't have access to.
curl --request DELETE \
  --url https://api-ext.getsigneasy.com/v1/files/signed/id/
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-ext.getsigneasy.com/v1/files/signed/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/signed/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-ext.getsigneasy.com/v1/files/signed/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/signed/id/"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results
 
Suggest Edits

Download the audit trail

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id

Path Params

signed_file_id
int32
required

The ID of the signed file, for which you want to generate the audit trail.

An audit trail is a signature certificate from SignEasy, with details on when each signer in a signature request has signed the document and when the request was complete. The audit trail is sent to you over email by default along with the final signed document (only if the signature request was not signed via embedded signing).

Use this API to fetch the audit-trail for a completed signature request, using the signed file ID. This API works on signed documents, even if they are deleted from your account.

The API returns a PDF of the audit trail which you can store for your records.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/audit-trail/signed_file_id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

// Stream of file content
{
    "error_code": "audit_trial_generation_failed", 
    "error_details": "You do not have permission to view this file.", 
    "msg": "Failed to generate audit trail."
}
 
Suggest Edits

The pending file object

 

Attributes
Type
Description

created_time

time

The time in epoch, when the signature request was initiated and the pending file created.

id

integer

The unique ID of the pending file.

is_ordered

integer

Flag indicating if the signing sequence would be ordered or not.

0: Parallel signing, the recipients can sign in any order
1: Sequential signing, the recipients can only sign when it is their turn to sign.

last_modified_time

time

The time in epoch, when the pending file was last modified.

logo

url

Link to the logo of the user, in case white labelling was turned on.

name

string

The name given to the signature request.

next

integer

The ID of the recipient who is in order to sign the document next.

This will be null in case of parallel signing.

owner_email

email

The email address of the signature request initiator.

owner_first_name

string

The first name of the signature request initiator.

owner_last_name

string

The last name of the signature request initiator.

owner_company

string

The company details of the signature request initiator.

has_markers

boolean

Flag indicating if there were fields added to the document before sending or not.

recipients.created_time

time

The time in epoch, when this recipient was added to the signature request.

recipients.email

email

The email address of the recipient.

recipients.first_name

string

The first name of the recipient.

recipients.last_name

string

The last name of the recipient.

recipients.last_modified_time

time

The time in epoch, when the recipient last acted on the signature request (viewed, signed, declined etc).

recipients.order_id

integer

Used only in sequential signing. Indicates the signing order for this recipient.

recipients.recipient_id

integer

Unique ID for this recipient. Unique only for this signature request. Use this ID to figure out who is the next signer.

recipients.status

string

One of viewed, not_viewed, declined, finalized.

Read more about each one of them here.

status

string

One of incomplete, complete, recipient_declined, canceled.

Read more about each one of them here.

{
  "created_time":1439460908,
  "id":69,
  "is_ordered":1,
  "last_modified_time":1439460908,
  "logo":"https://s3.amazonaws.com/selogos/700888/logo.png",
  "name":"NDA",
  "next":110,
  "owner_email":"shannon.adams@acme.com",
  "owner_first_name":"Shannon",
  "owner_last_name":"Adams",
  "owner_company":"ACME Corp.",
  "has_markers":0,
  "recipients":[
    {
      "created_time":1439460908,
      "email":"jack@company.com",
      "first_name":"Jack",
      "last_name":"Wilshere",
      "last_modified_time":1439460908,
      "order_id":1,
      "recipient_id":110,
      "status":"not_viewed"
    },
    {
      "created_time":1439460908,
      "email":"arsene@company.com",
      "first_name":"Arsene",
      "last_name":"Weng",
      "last_modified_time":1439460908,
      "order_id":2,
      "recipient_id":111,
      "status":"not_viewed"
    }
  ],
  "status":"incomplete"
}
Suggest Edits

Create a signature request

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/

Form Data

recipients
array of objects
required

List of recipients

email
first_name
last_name
original_file_id
int32
required

The original file ID, that the signers should sign.

is_ordered
boolean
required

If the sequence of signers is ordered (sequential signing). If false, parallel signing is enabled and the recipients can sign in any order.

name
string
required

Set a name for this signature request.

message
string

If the owner (sender of the signature request) wants to add a message to the signers to sign the document.

cc
array of objects

List of emails to be cced

email
embedded_signing
boolean

If this signature request should be enabled for use in embedded signing. Enabling this suppresses all emails that the signers receive, including the emails with links to sign the document.

Initiate a new signature request. The document will not have any fields to guide the signers through the document and will be allowed to sign anywhere in the document (free fill).

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "pending_file_id": 345
}
{
    "message": "Unauthorized",
    "error_code": "unauthorized_resource"
}
 
Suggest Edits

Create a signature request with fields

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/fields/

Form Data

recipients
array of objects
required

List of recipients

email
first_name
last_name
original_file_id
int32
required

The original file ID, that the signers should sign.

is_ordered
boolean
required

If the sequence of signers is ordered (sequential signing). If false, parallel signing is enabled and the recipients can sign in any order.

name
string
required

Set a name for this signature request.

fields_payload
array of objects
required

The fields that should go into the signature request. All JSON keys are required and description of each key is available below.

email
type
required
page_number
x
y
height
width
additional_info
message
string

If the owner (sender of the signature request) wants to add a message to the signers to sign the document.

cc
array of objects

List of emails to be cc-ed in this signature request. These recipients get a copy of the final signed document.

email
embedded_signing
boolean

If this signature request should be enabled for use in embedded signing. Enabling this suppresses all emails that the signers receive, including the emails with links to sign the document.

Initiate a new signature request with fields. You get to choose where exactly in the document each signer has to fill in and sign, the type of fields and if each of those fields are required or not.

Fields payload

Key
Type
Description

email

string

Email address of the recipient who has to fill or sign this field.

type

string

One of text, signature, date, initials, email, name, checkbox.

required

boolean

If the field is mandatory to be filled in by the recipient.

page_number

int

The page number that this field should go into. Starts from 1.

If you would like to place the fields in the last page, no matter which document, use the special value -1.

x

float

The field's horizontal margin from the left side of the document in pixels. This represents the bottom left corner of the field.

y

float

The field's vertical margin from the bottom of the document in pixels. This represents the bottom left corner of the field.

height

float

The field's height in pixels. Minimum height should be 32px.

width

float

The field's width in pixels. Minimum width should be 45px.

additional_info

json

Used only in the case of field type date. You can use this to set the required date format of the field. Eg. {"format": "DD/MM/YYYY"}. For all other field types, use an empty JSON as value {}.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/fields/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/fields/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/fields/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/fields/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/fields/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
    "pending_file_id": 345
}
{
    "message": "Unauthorized",
    "error_code": "unauthorized_resource"
}
 
Suggest Edits

Retrieve a pending file (signature request)

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/pending/id/

Path Params

id
int32
required

The file id of the pending file

Retrieve information about a pending file of a user with id pending_file_id

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/pending/id/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/pending/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/id/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "created_time":1439460908,
  "id":69,
  "is_ordered":1,
  "last_modified_time":1439460908,
  "logo":"https://s3.amazonaws.com/selogos/700888/logo.png",
  "name":"NDA",
  "next":110,
  "owner_email":"shannon.adams@acme.com",
  "owner_first_name":"Shannon",
  "owner_last_name":"Adams",
  "owner_company":"ACME Corp.",
  "has_markers":0,
  "recipients":[
    {
      "created_time":1439460908,
      "email":"jack@company.com",
      "first_name":"Jack",
      "last_name":"Wilshere",
      "last_modified_time":1439460908,
      "order_id":1,
      "recipient_id":110,
      "status":"not_viewed"
    },
    {
      "created_time":1439460908,
      "email":"arsene@company.com",
      "first_name":"Arsene",
      "last_name":"Weng",
      "last_modified_time":1439460908,
      "order_id":2,
      "recipient_id":111,
      "status":"not_viewed"
    }
  ],
  "status":"incomplete"
}
 
Suggest Edits

Retrieve all pending signature requests

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/files/pending/

Retrieve information about all the pending files of a user, including all the pending files where s/he is the owner and recipient This API returns a response irrespective of whether the pending file is complete, incomplete, canceled or recipient_declined.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/files/pending/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/files/pending/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
   "count":2,
   "files":[
      {
         "created_time":1439460908,
         "id":69,
         "is_ordered":1,
         "last_modified_time":1439460908,
         "logo":"https://s3.amazonaws.com/selogos/700888/logo.png",
         "name":"NDA",
         "next":110,
         "owner_email":"shannon.adams@acme.com",
         "owner_first_name":"Shannon",
         "owner_last_name":"Adams",
         "owner_company":"ACME Corp.",
         "has_markers":0,
         "recipients":[
            {
               "created_time":1439460908,
               "email":"jack@company.com",
               "first_name":"Jack",
               "last_name":"Wilshere",
               "last_modified_time":1439460908,
               "order_id":1,
               "recipient_id":110,
               "status":"not_viewed"
            },
            {
               "created_time":1439460908,
               "email":"arsene@company.com",
               "first_name":"Arsene",
               "last_name":"Weng",
               "last_modified_time":1439460908,
               "order_id":2,
               "recipient_id":111,
               "status":"not_viewed"
            }
         ],
         "status":"incomplete"
      },
      {
         "created_time":1439460908,
         "id":69,
         "is_ordered":1,
         "last_modified_time":1439460908,
         "logo":null,
         "name":"Contract with Nelson",
         "next":110,
         "owner_email":"shannon@acme.com",
         "owner_first_name":"Shannon",
         "owner_last_name":"Adams",
         "owner_company":"ACME Corp.",
         "has_markers":1,
         "recipients":[
            {
               "created_time":1439460908,
               "email":"michael@company.com",
               "first_name":"Michael",
               "last_name":"Carr",
               "last_modified_time":1439460908,
               "order_id":1,
               "recipient_id":110,
               "status":"not_viewed"
            },
            {
               "created_time":1439460908,
               "email":"jose@company.com",
               "first_name":"Jose",
               "last_name":"Muller",
               "last_modified_time":1439460908,
               "order_id":2,
               "recipient_id":111,
               "status":"not_viewed"
            }
         ],
         "status":"incomplete"
      }
   ]
}
 
Suggest Edits

Remind signers of a signature request

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/id/remind/

Path Params

id
int32
required

API to remind the signers of a signature request to sign the document.

In case of sequential signing, the next recipient in line to sign the document is reminded. In case of parallel signing, all signers who are yet to sign the document will be reminded.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/id/remind/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/id/remind/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/id/remind/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/id/remind/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/id/remind/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

// No response body on success
 
Suggest Edits

Void a pending signature request

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/id/cancel/

Path Params

id
int32
required

Form Data

message
string

The sender can choose to add a message as to why they voided the signature request. This message will be relayed to all the recipients.

API for voiding the signature request. On success, recipients/signers of the signature request will be informed about the voided signature request along with a message if provided.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/id/cancel/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/id/cancel/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/id/cancel/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/id/cancel/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/id/cancel/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

// No response body on success
 
Suggest Edits

The template object

 

Attribute
Type
Description

name

string

The name of the template.

id

integer

Unique ID of the template.

created_time

time

The time in epoch, when the template was created.

is_ordered

integer

Flag indicating if the template was selected to be used in sequential or parallel signing.

0: Parallel signing
1: Sequential signing

The user can choose to change the type of signing during signature request initiation.

message

string

The default message that goes out with the signature requests initiated with this template.

This can be changed, during signature request initiation.

modified_time

time

The time in epoch, when the template was last modified.

metadata.fields

json

Metadata used for displaying templates on a PDF viewer. This data can be ignored.

metadata.merge_fields

json

The merge fields available in the template for your use. Use the labels to set values in these fields before the document is viewed & signed by your document signers.

metadata.roles

json

The roles added in the template. This data can be ignored.

metadata.roles.name

string

The name assigned to the role.

{
  "created_time":1504087737,
  "id":1449,
  "is_ordered":false,
  "message":"Please sign this NDA.",
  "metadata":{
    "fields":[
      {
        "additional_info":"",
        "id":1,
        "required":true,
        "role_id":1,
        "type":"text"
      },
      {
        "additional_info":"",
        "id":2,
        "required":true,
        "role_id":2,
        "type":"text"
      }
    ],
    "merge_fields": [
            {
                "id": 11, 
                "label": "Company Name", 
                "required": true, 
                "type": "text"
            }, 
            {
                "id": 14, 
                "label": "Client Name", 
                "required": true, 
                "type": "text"
            }
        ], 
    "roles":[
      {
        "color":"[255, 165, 0, 0.35]",
        "fields":[
          1
        ],
        "id":1,
        "name":"client"
      },
      {
        "color":"[56, 185, 174, 0.35]",
        "fields":[
          2
        ],
        "id":2,
        "name":"manager"
      }
    ]
  },
  "modified_time":1504087873,
  "name":"NDA Template"
}
Suggest Edits

Create a signature request using a template

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/template/

Form Data

template_file_id
int32
required

ID of the template, that you want to be signed.

recipients
array of objects
required

List of recipients. Role ID starts at 1 and needs to be the same as the ID in the template object.

email
first_name
last_name
role_id
is_ordered
boolean
required

If the sequence of signers is ordered (sequential signing). If false, parallel signing is enabled and the recipients can sign in any order.

name
string
required

Set a name for this signature request.

message
string

If the owner (sender of the signature request) wants to add a message to the signers to sign the document.

cc
array of objects

List of emails to be cc-ed in this signature request. These recipients get a copy of the final signed document.

email
file_password
string

Password of the file, if the document is password protected.

embedded_signing
boolean

If this signature request should be enabled for use in embedded signing. Enabling this suppresses all emails that the signers receive, including the emails with links to sign the document.

merge_fields
array of objects

Merge fields allow you to pre-fill a template with your own data before your signers view and sign the document.

label
value
font_size

Initiate a new signature request from a template.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/template/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/template/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/template/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/template/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/template/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{	
	"pending_file_id": 9700
}
 
Suggest Edits

Retrieve all templates

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/library/template/

Returns all the templates available in the account.

curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/library/template/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/library/template/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/library/template/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/library/template/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/library/template/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

[
  {
    "created_time":1504088042,
    "id":1450,
    "is_ordered":false,
    "message":"",
    "metadata":{
      "fields":[
        {
          "additional_info":"MM/DD/YY",
          "id":1,
          "required":true,
          "role_id":2,
          "type":"signature"
        },
        {
          "additional_info":"MM/DD/YY",
          "id":4,
          "required":true,
          "role_id":1,
          "type":"date"
        }
      ],
      "roles":[
        {
          "color":"(255, 165, 0, 0.35)",
          "fields":[
            4
          ],
          "id":1,
          "name":"Student"
        },
        {
          "color":"(56, 185, 174, 0.35)",
          "fields":[
            1
          ],
          "id":2,
          "name":"Teacher"
        }
      ]
    },
    "modified_time":1504088070,
    "name":"Offer Letter template"
  },
  {
    "created_time":1504087737,
    "id":1449,
    "is_ordered":false,
    "message":"",
    "metadata":{
      "fields":[
        {
          "additional_info":"",
          "id":1,
          "required":true,
          "role_id":1,
          "type":"text"
        },
        {
          "additional_info":"",
          "id":2,
          "required":true,
          "role_id":2,
          "type":"text"
        }
      ],
      "roles":[
        {
          "color":"[255, 165, 0, 0.35]",
          "fields":[
            1
          ],
          "id":1,
          "name":"client"
        },
        {
          "color":"[56, 185, 174, 0.35]",
          "fields":[
            2
          ],
          "id":2,
          "name":"manager"
        }
      ]
    },
    "modified_time":1504087873,
    "name":"NDA Template"
  }
]
 
Suggest Edits

Retrieve a template

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/library/template/id/

Path Params

id
int32
required
 
curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/library/template/id/
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/library/template/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/library/template/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/library/template/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/library/template/id/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "created_time":1504087737,
  "id":1449,
  "is_ordered":false,
  "message":"Please sign this NDA.",
  "metadata":{
    "fields":[
      {
        "additional_info":"",
        "id":1,
        "required":true,
        "role_id":1,
        "type":"text"
      },
      {
        "additional_info":"",
        "id":2,
        "required":true,
        "role_id":2,
        "type":"text"
      }
    ],
    "roles":[
      {
        "color":"[255, 165, 0, 0.35]",
        "fields":[
          1
        ],
        "id":1,
        "name":"client"
      },
      {
        "color":"[56, 185, 174, 0.35]",
        "fields":[
          2
        ],
        "id":2,
        "name":"manager"
      }
    ]
  },
  "modified_time":1504087873,
  "name":"NDA Template"
}
 
Suggest Edits

Rename a template

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
puthttps://api-ext.getsigneasy.com/v1/library/template/id/

Path Params

id
int32
required

Template ID

Form Data

name
json

The new name you want to rename the template to.

Use this API to rename a template in your account.

curl --request PUT \
  --url https://api-ext.getsigneasy.com/v1/library/template/id/
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-ext.getsigneasy.com/v1/library/template/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/library/template/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-ext.getsigneasy.com/v1/library/template/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/library/template/id/"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "created_time":1504087737,
  "id":1449,
  "is_ordered":false,
  "message":"Please sign this NDA.",
  "metadata":{
    "fields":[
      {
        "additional_info":"",
        "id":1,
        "required":true,
        "role_id":1,
        "type":"text"
      },
      {
        "additional_info":"",
        "id":2,
        "required":true,
        "role_id":2,
        "type":"text"
      }
    ],
    "roles":[
      {
        "color":"[255, 165, 0, 0.35]",
        "fields":[
          1
        ],
        "id":1,
        "name":"client"
      },
      {
        "color":"[56, 185, 174, 0.35]",
        "fields":[
          2
        ],
        "id":2,
        "name":"manager"
      }
    ]
  },
  "modified_time":1504087873,
  "name":"NDA Template"
}
 
Suggest Edits

Delete a template

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api-ext.getsigneasy.com/v1/library/template/id/

Path Params

id
int32
required

Template ID

Use this API to delete a template in your account.

curl --request DELETE \
  --url https://api-ext.getsigneasy.com/v1/library/template/id/
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-ext.getsigneasy.com/v1/library/template/id/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/library/template/id/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-ext.getsigneasy.com/v1/library/template/id/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/library/template/id/"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results
 
Suggest Edits

Fetch embedded sending URL

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v2/signing/url/

Form Data

file_id
string
required

id of the original file that was already imported

type
string

rs or self_sign

message
string

message if type is rs, which will be auto-filled in the screen.

recipients
array of objects

List of recipients to be auto-filled in the screen.

email
first_name
last_name
cc
array of objects

CC recipients for the signature request, which will be auto-filled in the screen.

email
redirect_url
string

URL that the user would be redirected to, once they send the signature request. The pending_file_id of the signature requests will be added as a query parameter.

This API is used for embedded sending and self signing of an original file. This API returns an URL which lets you either open the document for signing it yourself or for request signature. If you choose request signature, you will also be able to add fields, or use templates to initiate the signature request.

Version is v2!

The version to be used for this API is v2, not v1.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v2/signing/url/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v2/signing/url/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v2/signing/url/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v2/signing/url/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v2/signing/url/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "url": "https://app.getsigneasy.com/#/embedded-signing? hash=27ba125d6c6f458b9116d8f8df08f33ce3619ffc72cd41e59edf1029dfdsdfb&file_id=2",
  "file_id": "2324345"
}
 
Suggest Edits

Fetch embedded signing URL

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/

Path Params

id
int32
required

The ID of the pending file (or signature request)

Form Data

recipient_email
string
required

Email of the signer, whose signing link is being requested.

redirect_url
string

URL that the user would be redirected to, once they sign the document. The pending_file_id of the signature requests will be added as a query parameter.

Get the signing link for a signer of a particular signature request. You can use this link to get documents signed on your own website or mobile app.

curl --request POST \
  --url https://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/files/pending/id/signing/url/"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
	"url": "https://app.getsigneasy.com/signrequest?hash=01d9c13da88b449e8444177dd08ad830b2e304406f4439af30f66ff4c262acbc8bd6639c524bc2884cd4a14928a6d5"
}
{
    "message": "Bad Request",
    "error_code": "bad_request"
}

// In cases where the `recipient_email` is not added to the signature request as a signer. 
{
    "message": "Unauthorized",
    "error_code": "unauthorized_resource"
}

// You might have the wrong pending file or signature request ID 
// The signature request might have already been declined by one of the signers 
// The signature request was already voided by the sender 
// The signature request was not initiated with `embedded_signing` set to true
 
Suggest Edits

Retrieve all webhooks URLs

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api-ext.getsigneasy.com/v1/callback/urls/

Headers

X-Client-ID
string
required

Your client id

 
curl --request GET \
  --url https://api-ext.getsigneasy.com/v1/callback/urls/ \
  --header 'x-client-id: X-Client-ID'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-ext.getsigneasy.com/v1/callback/urls/',
  headers: { 'x-client-id': 'X-Client-ID' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/callback/urls/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-client-id"] = 'X-Client-ID'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-ext.getsigneasy.com/v1/callback/urls/");
xhr.setRequestHeader("x-client-id", "X-Client-ID");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/callback/urls/"

headers = {'x-client-id': 'X-Client-ID'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "callback_urls": [
    "https://getsigneasy.in/1igo0sg1"
  ]
}
 
Suggest Edits

Add a new webhook URL

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api-ext.getsigneasy.com/v1/callback/urls/

Query Params

urls
string
required

Use it as a POST parameter. Supports multiple comma separated URLs. JSON payloads are not supported.

Headers

X-Client-ID
string
required

Your client id

Adds the callback URLs for that particular user and oAuth client.

curl --request POST \
  --url 'https://api-ext.getsigneasy.com/v1/callback/urls/?urls=urls' \
  --header 'x-client-id: X-Client-ID'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-ext.getsigneasy.com/v1/callback/urls/',
  qs: { urls: 'urls' },
  headers: { 'x-client-id': 'X-Client-ID' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/callback/urls/?urls=urls")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-client-id"] = 'X-Client-ID'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-ext.getsigneasy.com/v1/callback/urls/?urls=urls");
xhr.setRequestHeader("x-client-id", "X-Client-ID");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/callback/urls/"

querystring = {"urls":"urls"}

headers = {'x-client-id': 'X-Client-ID'}

response = requests.request("POST", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "callback_urls": [
    "https://getsigneasy.in/1igo0sg1"
  ]
}
 
Suggest Edits

Delete a webhook URL for a user

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api-ext.getsigneasy.com/v1/callback/urls/

Form Data

urls
string
required

Use it as a body parameter. Supports multiple comma separated URLs. JSON payloads are not supported.

Headers

X-Client-ID
string
required

Your Client Id

Deletes the callback urls for the particular user and client

curl --request DELETE \
  --url https://api-ext.getsigneasy.com/v1/callback/urls/ \
  --header 'x-client-id: X-Client-ID'
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-ext.getsigneasy.com/v1/callback/urls/',
  headers: { 'x-client-id': 'X-Client-ID' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-ext.getsigneasy.com/v1/callback/urls/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)
request["x-client-id"] = 'X-Client-ID'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-ext.getsigneasy.com/v1/callback/urls/");
xhr.setRequestHeader("x-client-id", "X-Client-ID");

xhr.send(data);
import requests

url = "https://api-ext.getsigneasy.com/v1/callback/urls/"

headers = {'x-client-id': 'X-Client-ID'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results
 
Suggest Edits

document.signed

Self Signed Document

 

This event is triggered every time the user signs a document by themselves (includes self-signing and in-person signing). This event can be used to export the signed document to any cloud storage service (Dropbox, Google Drive) or your custom document archival solution.

Use the id and the signed document download API to fetch the signed & completed document.

Not for Signature Request documents

Note that this event is not fired when a document is signed via Request Signature. Use rs.completed events for documents signed via signature requests.


{  
   "data":{  
      "pending_file":null,
      "user_id":7163829,
      "name":"hello_05_Sep_2017-134723.pdf",
      "checksum":"eaae8847ba4b579f0c404cc51ea4aa0a2b4cc828099ead9c8ff9c68f0abd4e38",
      "created_time":1504619243,
      "last_modified_time":1504619243,
      "id":110565575
   },
   "metadata":{  
      "event_user":"jackbarb@gmail.com",
      "event_type":"document.signed",
      "client_id":null
   }
}
 
Suggest Edits

rs.initiated

A new signature request was initiated

 

This event is fired when a new signature requested is initiated by your users. The payload will contain the details of the signers, document and the order of signing thereby helping you update any workflows on your end.

{
   "data":{
      "status":"incomplete",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505464109,
            "recipient_user_id":2,
            "recipient_id":7,
            "created_time":1505464109,
            "email":"hilton@gmail.com"
         },
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505464109,
            "recipient_user_id":3,
            "recipient_id":8,
            "created_time":1505464109,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":7,
      "created_time":1505464109,
      "last_modified_time":1505464109,
      "has_markers":0,
      "is_ordered":0,
      "id":4936759,
      "owner_user_id":1
   },
   "metadata":{
      "event_type":"rs.initiated",
      "event_user_id":1,
      "client_id":"6xkfd7cC9TEcXPOy1jxbHg9k8O8IpmQRAt7AWrTm",
      "event_user":"jackbarb@gmail.com"
   }
}
 
Suggest Edits

rs.viewed

RS signer viewed

 

This event is fired every time a signer views the document they were requested to sign. The payload contains details of who the signer is, time of viewing and the current status of their signature request.

{
   "data":{
      "status":"incomplete",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"viewed",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505462535,
            "recipient_user_id":2,
            "recipient_id":5,
            "created_time":1505462478,
            "email":"hilton@gmail.com"
         },
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505462478,
            "recipient_user_id":3,
            "recipient_id":6,
            "created_time":1505462478,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":5,
      "created_time":1505462478,
      "last_modified_time":1505462478,
      "has_markers":0,
      "is_ordered":0,
      "id":3687963,
      "owner_user_id":1
   },
   "metadata":{
      "event_type":"rs.viewed",
      "event_user_id":2,
      "client_id":null,
      "event_user":"hilton@gmail.com"
   }
}
 
Suggest Edits

rs.signed

Signer signed the document

 

This event is fired when a signers signs the document they received. The payload contains details of who the signer is, time of signing and the current status of the signature request. Note that, this event is only an indicator that the signer has signed the document and not that the signature request is complete.

{
   "data":{
      "status":"incomplete",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"finalized",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505462568,
            "recipient_user_id":2,
            "recipient_id":5,
            "created_time":1505462478,
            "email":"hilton@gmail.com"
         },
         {
            "status":"finalized",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505462805,
            "recipient_user_id":3,
            "recipient_id":6,
            "created_time":1505462478,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":6,
      "created_time":1505462478,
      "last_modified_time":1505462568,
      "has_markers":0,
      "is_ordered":0,
      "id":2373543,
      "owner_user_id":1
   },
   "metadata":{
      "event_type":"rs.signed",
      "event_user_id":3,
      "client_id":null,
      "event_user":"timferry@gmail.com"
   }
}
 
Suggest Edits

rs.declined

Signer declined to sign the document

 

This event is fired whenever a signer in a signature request declines to sign the document. The payload has details of who the signer is and the time of the event. Declining the document effectively voids the signature request for the other signers (if any).

Use this event to re-trigger a signature request or reaching out to your signers on why they declined to sign the document.

{
   "data":{
      "status":"recipient_declined",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"declined",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505462351,
            "recipient_user_id":2,
            "recipient_id":3,
            "created_time":1505462028,
            "email":"hilton@gmail.com"
         },
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505462028,
            "recipient_user_id":3,
            "recipient_id":4,
            "created_time":1505462028,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":null,
      "created_time":1505462028,
      "last_modified_time":1505462351,
      "has_markers":0,
      "is_ordered":0,
      "id":283378,
      "owner_user_id":1,
      "decline_reason": "This carries the reason the signer added while declining the signature request" 
   },
   "metadata":{
      "event_type":"rs.declined",
      "event_user_id":2,
      "client_id":null,
      "event_user":"hilton@gmail.com"
   }
}
 
Suggest Edits

rs.voided

Request Signature voided

 

This event is fired when the user voids the signature request. This will effectively invalidate the signing links sent to all the signers.

This event will be useful in updating the statuses of your documents and dashboards.

{
   "data":{
      "status":"canceled",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505464109,
            "recipient_user_id":2,
            "recipient_id":7,
            "created_time":1505464109,
            "email":"hilton@gmail.com"
         },
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505464109,
            "recipient_user_id":3,
            "recipient_id":8,
            "created_time":1505464109,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":null,
      "created_time":1505464109,
      "last_modified_time":1505464247,
      "has_markers":0,
      "is_ordered":0,
      "id":456821,
      "owner_user_id":1
   },
   "metadata":{
      "event_type":"rs.voided",
      "event_user_id":1,
      "client_id":null,
      "event_user":"jackbarb@gmail.com"
   }
}
 
Suggest Edits

rs.reminded

Signer was reminded to sign the document

 

This event is triggered whenever a signer in the signature request was reminded to sign the document. Note that this event is not fired for the automatic reminders the document signers receive from SignEasy everyday (upto 7 days).

{
   "data":{
      "status":"incomplete",
      "owner_first_name":"Jack",
      "name":"Try it now - demo.pdf",
      "recipients":[
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":1,
            "last_modified_time":1505464109,
            "recipient_user_id":2,
            "recipient_id":7,
            "created_time":1505464109,
            "email":"hilton@gmail.com"
         },
         {
            "status":"not_viewed",
            "first_name":"",
            "last_name":"",
            "order_id":2,
            "last_modified_time":1505464109,
            "recipient_user_id":3,
            "recipient_id":8,
            "created_time":1505464109,
            "email":"timferry@gmail.com"
         }
      ],
      "owner_email":"jackbarb@gmail.com",
      "owner_last_name":"Barb",
      "next":7,
      "created_time":1505464109,
      "last_modified_time":1505464109,
      "has_markers":0,
      "is_ordered":0,
      "id":428764,
      "owner_user_id":1
   },
   "metadata":{
      "event_type":"rs.reminded",
      "event_user_id":1,
      "client_id":null,
      "event_user":"jackbarb@gmail.com"
   }
}
 
Suggest Edits

rs.completed

Request Signature Complete

 

This event is fired when all the signers in the signature request have signed the document and the signature request is now complete.

The payload contains details of signing time and the new signed_file_id of the completed document. Use this signed_file_id to fetch/download the document using the signed file download API.

Note that this signed file belongs to the sender's account.

{
   "data":{
      "owner_user_id":198753,
      "signed_file_id":"29465",
      "id":31344
   },
   "metadata":{
      "event_user":null,
      "event_type":"rs.completed",
      "client_id":null
   }
}