API Reference

ACTION
URI - DESCRIPTION

Get Account
GET /account
Returns your Account settings.

Description

Returns the information about your Simple Sign Account.


Request Parameters

access_token (required)

The access token of your account


Response

Returns an Account object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/account


curl 'https://esign.simplesign.io/v3/account' \
Show response

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://esign.simplesign.io/v3/account?access_token={your access token}",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_httpsHEADER => array(
        "cache-control: no-cache",
        "content-type: multipart/form-data"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:".$err;
} else {
    echo $response;
}


var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/account?access_token={your access token}",
    "method": "GET"
}

$.ajax(settings).done(function(response) {
    console.log(response);
});

Verify Account
GET /verifyaccount
Verifies that your account exists in Simple Sign.

Description

Verifies whether a Simple Sign Account exists for the given email address.


Note This method is restricted to paid API users.


Request Parameters

email (required)

Email address to check account


Response

Returns a success message.


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/verifyaccount


curl 'https://esign.simplesign.io/v3/verifyaccount' \
Show response

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/verifyaccount?email=clarkkent@yopmail.com",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/verifyaccount?email=clarkkent@yopmail.com",
"method": "GET"
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Update Account
POST/updateaccount
Updates your account's settings.

Description

Updates the properties and settings of your Simple Sign Account.


Request Parameters

access_token (required)

User access token

full_name (optional)

Full name of user account

company (optional)

User company

address (optional)

User address

city (optional)

User city

phone_no (optional)

User phone no

reg_no (optional)

User Reg no

post_code (optional)

User Post code


Response

Returns a success message.


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/updateaccounta


curl 'https://esign.simplesign.io/v3/updateaccount \
Show response

$curlParams['access_token'] = '{your access token}';
  $curlParams['full_name'] = '{John Doe}';
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/updateaccount",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


 var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('full_name', '{John Doe}');
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://esign.simplesign.io/v3/updateaccount",
  "method": "POST",
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
}); 

Create Account
POST/createaccount
Creates a new Simple Sign account.

Description

Creates a new Simple Sign Account that is associated with the specified email address.


Request Parameters

email (required)

The email for the new Account

password (required)

The password for the new Account

full_name (required)

The full name of the new Account holder

company (required)

The company associated with the new Account

phone_no (optional)

The phone number of the new Account holder


Response

Returns a success message.


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/createaccount


curl 'https://esign.simplesign.io/v3/createaccount \
Show response

$curlParams['email'] = '{email address}';
  $curlParams['password'] = '{your password}';
  $curlParams['full_name'] = '{your full name}';
  $curlParams['company'] = '{your company name}';
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/createaccount",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}  


 var form = new FormData();
    form.append('email', '{email address}');
    form.append('password', '{your password}');
    form.append('full_name', '{your full name}');
    form.append('company', '{your company name}');
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://esign.simplesign.io/v3/createaccount",
  "method": "POST",
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
}); 


ACTION
URI - DESCRIPTION

Get Templates
GET /gettemplates
Gets your templates.

Description

Returns a list of the Templates that are accessible to you.


Request Parameters

access_token (required)

User access token

template_id (optional)

id for a specific template to get only particular template detail

page_limit (optional)

Records per page limits (default: 10)

current_page (optional)

Page index starting from 0 (default: 0)


Response

Returns a Template object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/gettemplates


curl 'https://esign.simplesign.io/v3/gettemplates' \
Show response

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/gettemplates?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/gettemplates?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
    "method": "GET"
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });

Create Template
POST /createtemplate
Creates a template from a document you upload.

Description

Creates a template from the selected file. This template is added to your Simple Sign account using the corresponding user access token.


Request Parameters

access_token (required)

User access token

file (required)

Use file to upload document to send


Response

Returns a Template id


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/createtemplate


curl 'https://esign.simplesign.io/v3/createtemplate' \
-F 'file=@NDA.pdf' \
Show response

$cfile = new CURLFile(realpath('singlepage.pdf'));

$curlParams['access_token'] = '{your access token}';
$curlParams['file'] = $cfile;

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/createtemplate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 300,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
 
$response = curl_exec($curl);
$err = curl_error($curl);
 
curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
$return = json_decode($response,true);
}


var form = new FormData();
form.append("access_token", "{your access token}");
form.append("file", $('#file_upload')[0].files[0]);   //for jQuey code
form.append("file", document.getElementById('file_upload').files[0]);   //for javascript code

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://esign.simplesign.io/v3/createtemplate",
  "method": "POST",
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

<form action="#" method="post" enctype="multipart/form-data">
  <input type="file" name="file_upload" id="file_upload">
  <input type="button" name="fileUpload" id="fileUpload" value="Upload">
</form>

Delete Template
POST /deletetemplates
Deletes the specified templates.

Description

Completely deletes the specified template(s) from your Simple Sign account. Provide the specific template ID(s) to delete the corresponding template(s).


Request Parameters

access_token (required)

User access token

templates (optional)


Response

Returns a success message.


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/deletetemplates


curl 'https://esign.simplesign.io/v3/deletetemplates' \
Show response

$curlParams['access_token'] = '{your access token}';
$curlParams['templates'] = json_encode([41, 42]);
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/deletetemplates",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


 var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('full_name', '{John Doe}');
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://esign.simplesign.io/v3/updateaccount",
  "method": "POST",
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
}); 


ACTION
URI - DESCRIPTION

Get Users
GET /users
Gets your users' information and their account settings.

Description

Returns information about the users in your organization as well as their account settings. If your access token is incorrect, the error message of "Invalid access_token" will be returned.


Request Parameters

access_token (required)

User access token

page_limit (optional)

Records per page limits (default: 10)

current_page (optional)

Page index starting from 0 (default: 0)


Response

Returns Users object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/users


curl 'https://esign.simplesign.io/v3/users' \
Show response

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/users?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://esign.simplesign.io/v3/users?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
  "method": "GET"
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

Create Users
POST /createusers
Creates new users in your Simple Sign organizational account.

Description

Creates new users in your Simple Sign organization and adds those new users into specified groups and roles. To add multiple users use multiple user keys.


Request Parameters

access_token (required)

User access token

users (required)


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/createusers


curl 'https://esign.simplesign.io/v3/createusers' \
Show response

$users = array(
  [
    'user_member' => ['full_name' => 'Robin Williams', 'email' => 'robinwilliams@yopmail.com', 'password' => 'robin123'],
    'groups' => [['group_name' => 'Developers', 'role_name' => 'Admin'], ['group_name' => 'Default', 'role_name' => 'Member']]
  ],
  [
    'user_member' => ['full_name' => 'Heath Ledger', 'email' => 'heathledger@yopmail.com', 'password' => 'heath123'],
    'groups' => [['group_name' => 'Default', 'role_name' => 'Member']]
  ]
);

$curlParams['access_token'] = '{your access token}';
$curlParams['users'] = json_encode($users);

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/createusers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('users', '[{"user_member": {"full_name": "Robin Williams", "email": "robinwilliams@yopmail.com", "password": "robin123"}, "groups": [{"group_name": "Developers", "role_name": "Admin"}, {"group_name": "Default", "role_name": "Member"}]}, {"user_member": {"full_name": "Heath Ledger", "email": "heathledger@yopmail.com", "password": "heath123"}, "groups": [{"group_name": "Default", "role_name": "Member"}]}]');

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/createusers",
    "method": "POST",
    "processData": false,
    "contentType": false,
    "mimeType": "multipart/form-data",
    "data": form
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });

Update Users
POST /updateusers
Updates user information.

Description

Updates user information along with groups and roles. To update multiple users use multiple user keys.


Request Parameters

access_token (required)

User access token

Users (required)


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/updateusers


curl 'https://esign.simplesign.io/v3/updateusers' \
Show response

$users = array(
  [
    'user_member' => ['account_id' => 284, 'full_name' => 'Robin Will', 'email' => 'robinwill@yopmail.com', 'password' => 'robin123'],
    'groups' => [['group_name' => 'Developers', 'role_name' => 'Member'], ['group_name' => 'Default', 'role_name' => 'Admin']]
  ],
  [
    'user_member' => ['account_id' => 285, 'full_name' => 'Heath Led', 'email' => 'heathled@yopmail.com', 'password' => 'heath123'],
    'groups' => [['group_name' => 'Default', 'role_name' => 'Admin']]
  ]
);

$curlParams['access_token'] = '{your access token}';
$curlParams['users'] = json_encode($users);

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/updateusers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('users', '[{"user_member": {"account_id": 284, "full_name": "Robin Will", "email": "robinwill@yopmail.com", "password": "robin123"}, "groups": [{"group_name": "Developers", "role_name": "Member"}, {"group_name": "Default", "role_name": "Admin"}]}, {"user_member": {"account_id": 285, "full_name": "Heath Led", "email": "heathled@yopmail.com", "password": "heath123"}, "groups": [{"group_name": "Default", "role_name": "Admin"}]}]');

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/updateusers",
    "method": "POST",
    "processData": false,
    "contentType": false,
    "mimeType": "multipart/form-data",
    "data": form
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });

Get User Info
GET /userinfo
Get user info for users in your account.

Description

Get details about all of the users in your organization. Each account_id corresponds to an organizational account and each access_token corresponds to a specific user within that organization.


Request Parameters

access_token (required)

User access token

account_id (required)

Account id


Response

Returns Users object


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/teaminfo


curl 'https://esign.simplesign.io/v3/teaminfo' \
Show response

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/userinfo?access_token={your access token}&account_id={account id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/userinfo?access_token={your access token}&subuser_id={account id}",
    "method": "GET"
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });

Delete Users
POST /deleteusers
Permanently deletes users who are in your organization.

Description

Deletes users from your Simple Sign organizational account by providing the specific account ID, to delete multiple accounts provide multiple account IDs.


Request Parameters

access_token (required)

User access token

users (required)


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/deleteusers


curl 'https://esign.simplesign.io/v3/deleteusers' \
Show response

$curlParams['access_token'] = '{your access token}';
$curlParams['user'] = json_encode([284, 285]);
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/deleteusers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('user', '[284, 285]');

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/deleteusers",
    "method": "POST",
    "processData": false,
    "contentType": false,
    "mimeType": "multipart/form-data",
    "data": form
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });

Activate/Deactivate Users
POST /changeuserstatus
Activate/Deactivate a user.

Description

Activate and deactivate users by providing the account ID and the correct user access token. Additionally, provide the status you wish to assign to the corresponding user.


Request Parameters

access_token (required)

User access token

account_id (required)

User access token

status (required)

active for activate, inactive for deactivate the team member


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/changeuserstatus


curl 'https://esign.simplesign.io/v3/changeuserstatus' \
Show response

$curlParams['access_token'] = "{your access token}";
$curlParams['account_id'] = "{your account id}";
$curlParams['status'] = "active";
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://esign.simplesign.io/v3/changeuserstatus",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $curlParams,
  CURLOPT_httpsHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


var form = new FormData();
  form.append('access_token', '{your access token}');
  form.append('account_id', '{your account id}');
  form.append('status', 'active');

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://esign.simplesign.io/v3/changeuserstatus",
    "method": "POST",
    "processData": false,
    "contentType": false,
    "mimeType": "multipart/form-data",
    "data": form
  }

$.ajax(settings).done(function (response) {
  console.log(response);
});


ACTION
URI - DESCRIPTION

Send Document
POST /senddocument
Creates a signature request using your own file (.pdf .docx .xls).

Description

Send a new signature request with your chosen file (.pdf .docx .xls file type only). If you want to add a signature box for your recipients, then input the tag #signer-1# in the location of the document where you want the signature box to be. To add signature boxes for additional reipients add #signer-2#, #signer-3#, etc. for the second recipient, 3rd recipient, etc.


Request Parameters

access_token (required)

User access token

file (required)

Use file which indicates the uploaded document file(s) to be sent for signature

recipients (required)

The recipients variable contains all of the information regarding the recipient while the people_fields key contains contact information about the recipient(s), organization_fields key contains information about the organization, and the details key contains additional specific recipient information such as the authentication and invitation method for that recipient

documentfields (optional)

The documentfields variable contains all information regarding document fields and should be noted that document fields are related with the document only, not with recipient/contact information

attachment (optional)

Attach an extra file with your document (can be .pdf, .docx, .xls)

attachment_name (optional)

Add name to attached file

attachment_mandatory (optional)

Make it mandatory for your recipient to read your attachment before being able to sign the document (1 for mandatory and 0 for optional)

sender_email (optional)

Set this parameter if you want to send the document from this specific sub-user’s email

visible_name (optional)

The title of your document (shown to the recipients)

language_id (optional)

Language (en, sv, de, fi, fr, no, da)

due_days (optional)

Number of days until document expires (e.g. 1, 2, 12)

reminder_days (optional)

Number of days until a reminder is sent (e.g. 1, 2, 12) and should be noted that the reminder is only sent to those who haven't signed

invitation_message (optional)

Invitation message you wish to to display in the invitation email

confirmation_message (optional)

Confirmation message you wish to send after the document is signed

video_title (optional)

Title of the video you want to display on the signing page

video or video_url (optional)

Use video_url to add a YouTube or Vimeo video to the signing page while on the other hand using the variable video to upload your own video file (file type must be mp4 and file size must be less than 10mb)

invitation_url (optional)

Invitation_url returns the signing URL for your recipient instead of sending them an invitation email for them to sign (1 for return link and 0 for sending document via email)

Add signature box to PDF (optional)

By using #signer-1# tag in your pdf document, you can add signature box for single recipient. For multiple recipients add tags like, #signer-1# , #signer-2#

Minimum font size must be 16px, font style must be Arial


Response

Returns a success message


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/senddocument


curl 'https://esign.simplesign.io/v3/senddocument'
Show response

$cfile = new CURLFile(realpath('singlepage.pdf'));
$recipients = array(
[
'people_fields' => ['name'=>'John Smith', 'email'=>'johnsmith@yopmail.com', 'personal_no'=>'19800130-1234', 'mobile'=>'+46701234567', 'address'=>'Sturegatan 1', 'city'=>'Stockholm', 'zipcode'=>'111 22'],
'organization_fields' => ['name'=>'Tesla Innovations AB', 'org_no'=>'556677-8899', 'phone'=>'+46754893027'],
'details' => ['recipient_role'=>'CEO', 'authentication'=>'Regular Signature', 'invitation_type' => 'email', 'invitation_order' => '1', 'confirmation' => 'email', 'id_attachment' => 'no']
],
[
'people_fields' => ['name'=>'Gillian Andersson', 'email'=>'gillianandersson@yopmail.com', 'personal_no'=>'19800130-0122', 'mobile'=>'+46701255487', 'address'=>'Sturegatan 2', 'city'=>'London', 'zipcode'=>'555 88'],
'details' => ['recipient_role' => 'EMPLOYEE', 'authentication' => 'pin via sms', 'invitation_type' => 'pos', 'invitation_order' => '1', 'confirmation' => 'email', 'id_attachment' => 'no']
]
);
$curlParams['access_token'] = '{your access token}';
$curlParams['file'] = $cfile;
$curlParams['recipients'] = json_encode($recipients);
$curlParams['language_id'] = 'en';
$curlParams['invitation_message'] = 'This is invitation message';
$curlParams['confirmation_message'] = 'This is confirmation message';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/senddocument",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
)
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


$('#fileUpload').click(function() {
var form = new FormData();
form.append("access_token", "{your access token}");
form.append("recipients", '[{"people_fields": {"name":"John Smith", "email": "johnsmith@yopmail.com", "personal_no": "19800130-1234", "mobile": "+46701234567", "address": "Sturegatan 1", "city": "Stockholm", "zipcode": "111 22"}, "organization_fields": {"name": "Tesla Innovations AB", "org_no": "556677-8899", "phone": "+46754893027"}, "details": {"recipient_role": "CEO", "authentication": "Regular Signature", "invitation_type": "email", "invitation_order": "1", "confirmation": "email", "id_attachment": "no"}}, {"people_fields": {"name":"Gillian Andersson", "email": "gillianandersson@yopmail.com", "personal_no": "19800130-0122", "mobile": "+46701255487", "address": "Sturegatan 2", "city": "London", "zipcode": "555 88"}, "details": {"recipient_role": "EMPLOYEE", "authentication": "pin via sms", "invitation_type": "pos", "invitation_order": "1", "confirmation": "email", "id_attachment": "no"}}]');
form.append("file", $('#file_upload')[0].files[0]);   //for jQuey code
form.append("file", document.getElementById('file_upload').files[0]);   //for javascript code
form.append("language_id", "en");
form.append("invitation_message", "This is invitation message");
form.append("confirmation_message", "This is confirmation message");
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/senddocument",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});
});
<form action="#" method="post" enctype="multipart/form-data">
  <input type="file" name="file_upload" id="file_upload">
  <input type="button" name="fileUpload" id="fileUpload" value="Upload">
</form>

Send Prebuilt Template
POST /sendtemplate
Creates a signature request using an already built template saved in your Simple Sign account.

Description

Creates and sends a new signature request based off of the template specified with the template_id parameter.


Request Parameters

access_token (required)

User access token

template_id (required)

Use template_id to create a signature request

recipients (required)

The recipients variable contains all of the information regarding the recipient while the people_fields key contains contact information about the recipient(s), organization_fields key contains information about the organization, and the details key contains additional specific recipient information such as the authentication and invitation method for that recipient

documentfields (optional)

The documentfields variable contains all information regarding document fields and should be noted that document fields are related with the document only, not with recipient/contact information

sender_email (optional)

Set this parameter if you want to send the document from this specific sub-user’s email

visible_name (optional)

The title of your document (shown to the recipients)

language_id (optional)

Language (en, sv, de, fi, fr, no, da)

due_days (optional)

Number of days until document expires (e.g. 1, 2, 12)

reminder_days (optional)

Number of days until a reminder is sent (e.g. 1, 2, 12) and should be noted that the reminder is only sent to those who haven't signed

invitation_message (optional)

Invitation message you wish to to display in the invitation email

confirmation_message (optional)

Confirmation message you wish to send after the document is signed

video_title (optional)

Title of the video you want to display on the signing page

video or video_url (optional)

Use video_url to add a YouTube or Vimeo video to the signing page while on the other hand using the variable video to upload your own video file (file type must be mp4 and file size must be less than 10mb)


Response

Returns a succesfulmessage


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/sendtemplate


curl 'https://esign.simplesign.io/v3/sendtemplate' \
Show response

$recipients = array(
[
'people_fields' => ['name' => 'John Smith', 'email' => 'johnsmith@yopmail.com', 'personal_no' => '19800130-1234', 'mobile' => '+46701234567', 'address' => 'Sturegatan 1', 'city' => 'Stockholm', 'zipcode' => '111 22'],
'organization_fields' => ['name' => 'Tesla Innovations AB', 'org_no' => '556677-8899', 'phone' => '+46754893027'],
'details' => ['recipient_role' => 'CEO', 'authentication' => 'Regular Signature', 'invitation_type' => 'email', 'invitation_order' => '1', 'confirmation' => 'email', 'id_attachment' => 'no']
],
[
'people_fields' => ['name' => 'Gillian Andersson', 'email' => 'gillianandersson@yopmail.com', 'personal_no' => '19800130-0122', 'mobile' => '+46701255487', 'address' => 'Sturegatan 2', 'city' => 'London', 'zipcode' => '555 88'],
'details' => ['recipient_role' => 'EMPLOYEE', 'authentication' => 'Regular Signature', 'invitation_type' => 'pos', 'invitation_order' => '1', 'confirmation' => 'email', 'id_attachment' => 'no']
]
);
$curlParams['access_token'] = '{your access token}';
$curlParams['template_id'] = '{template_id}';
$curlParams['recipients'] = json_encode($recipients);
$curlParams['language_id'] = 'en';
$curlParams['invitation_message'] = 'This is invitation message';
$curlParams['confirmation_message'] = 'This is confirmation message';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/sendtemplate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
)
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append("access_token", "{your access token}");
form.append("template_id", "{template_id}");
form.append("recipients", '[{"people_fields": {"name":"John Smith", "email": "johnsmith@yopmail.com", "personal_no": "19800130-1234", "mobile": "+46701234567", "address": "Sturegatan 1", "city": "Stockholm", "zipcode": "111 22"}, "organization_fields": {"name": "Tesla Innovations AB", "org_no": "556677-8899", "phone": "+46754893027"}, "details": {"recipient_role": "CEO", "authentication": "Regular Signature", "invitation_type": "email", "invitation_order": "1", "confirmation": "email", "id_attachment": "no"}}, {"people_fields": {"name":"Gillian Andersson", "email": "gillianandersson@yopmail.com", "personal_no": "19800130-0122", "mobile": "+46701255487", "address": "Sturegatan 2", "city": "London", "zipcode": "555 88"}, "details": {"recipient_role": "EMPLOYEE", "authentication": "Regular Signature", "invitation_type": "pos", "invitation_order": "1", "confirmation": "email", "id_attachment": "no"}}]');
form.append("language_id", "sv");
form.append("invitation_message", "This is invitation message");
form.append("confirmation_message", "This is confirmation message");
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/sendtemplate",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});


ACTION
URI - DESCRIPTION

Get People
GET /people
Gets all of the people added by a specific user.

Description

Gets the complete information of all people details from your Simple Sign account with the access token.


Request Parameters

access_token (required)

User access token

page_limit (optional)

Records per page limits (default: 10)

current_page (optional)

Page index starting from 0 (default: 0)


Response

Returns People object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/people


curl 'https://esign.simplesign.io/v3/people' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/people?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/people?access_token={your access token}&page_limit={page limit}¤t_page={page number}",
"method": "GET"
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Add People
POST /addpeople
Adds new people into your contact directory.

Description

Adds new people into contact directory. To add multiple people use multiple people_fields keys while putting the contact data in the people variable. To connect that people with an organization simply provide the name of the organization in people_fields key.


Request Parameters

access_token (required)

User access token

people (required)


Response

Returns People id(s) object


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/addpeople


curl 'https://esign.simplesign.io/v3/addpeople' \
Show response

$people = array(
[
'people_fields' => ['first_name' => 'John', 'last_name' => 'Smith', 'email' => 'johnsmith@yopmail.com', 'personal_no' => '19811228-9874', 'mobile' => '+46714879421', 'address' => 'Sturegatan', 'city' => 'Stockholm', 'zipcode' => '111 24', 'country' => 'Sweden']
],
[
'people_fields' => ['first_name' => 'Gillian', 'last_name' => 'Andersson', 'email' => 'gillianandersson@yopmail.com', 'personal_no' => '19670919-9530', 'mobile' => '+46713476895', 'address' => 'Svartmangatan', 'city' => 'Stockholm', 'zipcode' => '111 30', 'country' => 'Sweden']
]
);
$curlParams['access_token'] = '{your access token}';
$curlParams['people'] = json_encode($people);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/addpeople",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append("access_token", "{your access token}");
form.append("people", '[{"people_fields": {"first_name": "John", "last_name": "Smith", "email": "johnsmith@yopmail.com", "personal_no": "19811228-9874", "mobile": "+46714879421", "address": "Sturegatan", "city": "Stockholm", "zipcode": "111 24", "country": "Sweden"}}, {"people_fields": {"first_name": "Gillian", "last_name": "Andersson", "email": "gillianandersson@yopmail.com", "personal_no": "19670919-9530", "mobile": "+46713476895", "address": "Svartmangatan", "city": "Stockholm", "zipcode": "111 30", "country": "Sweden"}}]');
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/addpeople",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Update People
POST /updatepeople
Updates existing people in your contact directory.

Description

Updates the information of existing people. To update multiple people use multiple people_fields keys with the correct contact data stored in the people variable.


Request Parameters

access_token (required)

User access token

people (required)


Response

Returns a success message.


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/updatepeople


curl 'https://esign.simplesign.io/v3/updatepeople' \
-f 123
Show response

$people = array(
[
'people_fields' => ['people_id' => 282, 'first_name' => 'John', 'last_name' => 'Smith', 'email' => 'johnsmith@yopmail.com', 'personal_no' => '19811228-9874', 'mobile' => '+46714879421', 'address' => 'Sturegatan', 'zipcode' => '111 24', 'city' => 'Stockholm', 'country' => 'Sweden']
],
[
'people_fields' => ['people_id' => 283, 'first_name' => 'Gillian', 'last_name' => 'Andersson', 'email' => 'gillianandersson@yopmail.com', 'personal_no' => '19670919-9530', 'mobile' => '+46713476895', 'address' => 'Svartmangatan', 'zipcode' => '111 30', 'city' => 'Stockholm', 'country' => 'Sweden']
]
);
$curlParams['access_token'] = '{your access token}';
$curlParams['people'] = json_encode($people);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/updatepeople",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append('access_token', '{your access token}');
form.append('people', '[{"people_fields": {"people_id": "282", "first_name": "John", "last_name": "Smith", "email": "johnsmith@yopmail.com", "personal_no": "19811228-9874", "mobile": "+46714879421", "address": "Sturegatan", "zipcode": "111 24", "city": "Stockholm", "country": "Sweden"}}, {"people_fields": {"people_id": "283", "first_name": "Gillian", "last_name": "Andersson", "email": "gillianandersson@yopmail.com", "personal_no": "19670919-9530", "mobile": "+46713476895", "address": "Svartmangatan", "zipcode": "111 30", "city": "Stockholm", "country": "Sweden"}}]');
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/updatepeople",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Get People Info
GET /peopleinfo
Gets details of a specific people based on the specific people ID you submit.

Description

Gets the information for a specific people. Provide an access_token (the user that added the people) and a people_id (the specific people).


Request Parameters

access_token (required)

User access token

people_id (required)

People id


Response

Returns People object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/peopleinfo


curl 'https://esign.simplesign.io/v3/peopleinfo' \
-f 123
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/peopleinfo?access_token={your access token}&people_id={people id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/peopleinfo?access_token={your access token}&people_id={people id}",
"method": "GET",
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Delete People
POST /deletepeople
Deletes the people in your contact directory.

Description

Deletes a people from your contact directory by providing the specific people_id corresponding with the correct people. Provide multiple IDs to delete multiple people.


Request Parameters

access_token (required)

User access token

people (required)


Response

EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/deletepeople


curl 'https://esign.simplesign.io/v3/deletepeople' \
-f 123
Show response

$curlParams['access_token'] = '{your access token}';
$curlParams['people'] = json_encode([282, 283]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/deletepeople",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append('access_token', '{your access token}');
form.append('people', '[282, 283]');
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/deletepeople",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});


ACTION
URI - DESCRIPTION

Get All Documents
GET /alldocuments
Returns your sent documents.

Description

Returns a full list of your sent documents.


Request Parameters

access_token (required)

User access token

document_limit (optional)

Records per page limits (default: 25)

current_page (optional)

Page number starting from 1 (default: 1)

user_id (optional)

ID of your User / Team mate to get related documents with specific account.

from_date (optional)

Specify the date to get document from date (default: YYYY-MM-DD)

to_date (optional)

Specify the date to get document to date (default: YYYY-MM-DD)


Response

Returns a Document object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/alldocuments


curl 'https://esign.simplesign.io/v3/alldocuments' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/alldocuments?access_token={your access token}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"postman-token: 00378ee7-ec2c-97c0-77ca-81f9f9b02ed4"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/alldocuments?access_token={your access token}",
"method": "GET",
"headers": {
"cache-control": "no-cache",
"postman-token": "d30f94eb-0772-5534-71ee-019f7efde03d"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Get Signed Documents
GET /signeddocuments
Returns your signed documents only.

Description

Returns a full list of your signed documents only.


Request Parameters

access_token (required)

User access token

order (required)

Reorganizes records into ascending or descending order (default: ascending order)

user_id (optional)

ID of your User / Team mate to get related documents with specific account.

from_date (optional)

Specify the date to get document from date (default: YYYY-MM-DD)

to_date (optional)

Specify the date to get document to date (default: YYYY-MM-DD)


Response

Returns a Document object


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/signeddocuments


curl 'https://esign.simplesign.io/v3/signeddocuments' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/signeddocuments?access_token={your access token}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"postman-token: 00378ee7-ec2c-97c0-77ca-81f9f9b02ed4"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/signeddocuments?access_token={your access token}",
"method": "GET",
"headers": {
"cache-control": "no-cache",
"postman-token": "d30f94eb-0772-5534-71ee-019f7efde03d"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Get Document Details
GET /specificdocumentdetail
Gets all of the details regarding a document.

Description

To get details about your sent documents.


Request Parameters

access_token (required)

User access token

document_id (required)

id for a specific document


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/specificdocumentdetail


curl 'https://esign.simplesign.io/v3/specificdocumentdetail' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/specificdocumentdetail?access_token={your access token}&document_id={your document id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",  
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/specificdocumentdetail?access_token={your access token}&document_id={your document id}",
"method": "GET"
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Get Document Details by Status
GET /getdocumentinfobystatus
Returns the details of sent document(s) with respect to the given status.

Description

Return the details of sent document(s) with respect to the given status.


The parameters to use are:

access_token (required)

User access token

status (required)

Status of document(delivered, reviewed, signed, rejected)

document_id (optional)

id for a specific document to get only particular document details

page_limit (required)

Records per page limits (default: 10)

current_page (required)

Page index starting from 0 (default: 0)

user_id (optional)

ID of your User / Team mate to get related documents with specific account.

from_date (optional)

Specify the date to get document from date (default: YYYY-MM-DD)

to_date (optional)

Specify the date to get document to date (default: YYYY-MM-DD)


Response

Returns the info of sent documents with respect to the given status.


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/getdocumentinfobystatus


curl 'https://esign.simplesign.io/v3/getdocumentinfobystatus' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/getdocumentinfobystatus?access_token={your access token}&status=signed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"postman-token: fa2e046f-3fd0-6f68-161c-79365cca10a7"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/getdocumentinfobystatus?access_token={your access token}&status=signed",
"method": "GET",
"headers": {
"cache-control": "no-cache",
"postman-token": "4d81a307-3eea-58ec-4eae-7e7d8123f156"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Delete Document
POST /deletedocument
Delete the document.

Description

Completely deletes the un-signed document from the system.


Request Parameters

access_token (required)

User access token

document_id (required)

Document id you want to delete


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/deletedocument


curl 'https://esign.simplesign.io/v3/deletedocument' \
-F 112'
Show response

$curlParams['access_token'] = '{your access token}';
$curlParams['document_id'] = '1455';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/deletedocument",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append('access_token', '{your access token}');
form.append('document_id', '1455');
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/deletedocument",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(respondocumentshistory

Get Document PDF
GET /getdocumentpdf
Download Document PDF.

Description

Download a PDF of the document.


Request Parameters

access_token (required)

User access token

document_id (required)

Signed document id


EXAMPLE REQUEST / RESPONSE

GET https://esign.simplesign.io/v3/getdocumentpdf


curl 'https://esign.simplesign.io/v3/getdocumedocumentshistory
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/getdocumentpdf?access_token={your access token}&document_id=16669",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
"postman-token: 2b183813-4b06-095a-a8d9-ce8ee54742a1"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/getdocumentpdf?access_token={your access token}&document_id=16669",
"method": "GET",
"headers": {
"content-type": "application/x-www-form-urlencoded",
"cache-control": "no-cache",
"postman-token": "0183531c-e49c-d3b4-b345-7821e53da5b3"
},
"data": {}
}
$.ajax(settings).done(function (response) {
console.log(response);
});

Send Reminder
POST /remindertorecipients
Send a reminder to the recipients.

Description

Sends a reminder to recipients of a particular document. * This reminder will only be sent to those parties that haven't signed this document.


Request Parameters

access_token (required)

User access token

document_id (required)

document id

reminder_type (required)

Reminder type 1 for Email, 2 for SMS, 3 for both SMS & Email


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/remindertorecipients


curl 'https://esign.simplesign.io/v3/remindertorecipients' \
Show response

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/remindertorecipients",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "access_token={your access token}&document_id=16392&reminder_type=3",
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
"postman-token: 68256c7a-2a1a-f23f-ea98-84d4aa4ae3db"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/remindertorecipients",
"method": "POST",
"headers": {
"content-type": "application/x-www-form-urlencoded",
"cache-control": "no-cache",
"postman-token": "dde16dee-de3b-afd8-b98d-fc4f2fcd8ecb"
},
"data": {
"access_token": "{your access token}",
"document_id": "16392",
"reminder_type": "3"
}
}
$.ajax(settings).done(function (response) {
console.log(respondocumentshistory

ACTION
URI - DESCRIPTION

Configure Webhook
POST /cofigurewebhook
to enable or disable the webhook triggers.

Description

Configure endpoint URL and add trigger event to get notification on your endpoint URL when document is sent, signed or rejected.


Request Parameters

access_token (required)

User access token

webhook_url (required)

Your endpoint URL where you will get response data, when document is sent ,signed or rejected.

webhook_trigger (required)

Here you will pass an object to activate triggers to perform action, when document is sent, signed or rejected, you can turn on and off each trigger.

Response

Returns a success message


EXAMPLE REQUEST / RESPONSE

POST https://esign.simplesign.io/v3/cofigurewebhook


curl 'https://esign.simplesign.io/v3/cofigurewebhook'
Show response


$web_hook_call = [
    'when_document_sent' => 'on', 'when_document_signed' => 'on', 'when_document_rejected' => 'off'
];
$webhook_url = 'https://www.beta.simplesign.io/testing';


$curlParams['access_token'] = '{your access token}';
$curlParams['webhook_url'] = $webhook_url;
$curlParams['webhook_trigger'] = json_encode($web_hook_call);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://esign.simplesign.io/v3/cofigurewebhook",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_https_VERSION => CURL_https_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $curlParams,
CURLOPT_httpsHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data"
)
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}


var form = new FormData();
form.append("access_token", "{your access token}");
form.append("webhook_url", 'https://www.beta.simplesign.io/testing');
form.append("webhook_trigger", '{"when_document_sent":"on","when_document_signed":"off","when_document_rejected":"on"}');
var settings = {
"async": true,
"crossDomain": true,
"url": "https://esign.simplesign.io/v3/cofigurewebhook",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});



ERROR
DESCRIPTION
Email is missing
Return error if there is no email in api call.
Access Token is missing
Return error if there is no access token in api call.
Password is missing
Return error if there is no password in api call.
Email or password is incorrect
Return error if there is an invalid email or password in the api call.
invalid_request
Return error if the request is missing a required parameter, the request includes an invalid parameter value, the request includes a single parameter more than once, or the request is incorrect or malformed in any other such way. Check the "access token" parameter.
invalid_scope
The requested scope is invalid, unknown, or malformed. Check the "super" scope.
template_id is missing
Return error if template id is missing in api call.
No records found
Return error if no record is found.

Contact us

Simple Sign International AB
Mäster Samuelsgatan 36
111 57 STOCKHOLM
SWEDEN

Email: info@simplesign.io
Phone: +46(0)10 750 09 66