API version:

Supported Formats

json

GET /public/v2/reusable_templates/:id
Return data for a specific Reusable Template

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
422 Bad input parameter. Error message should indicate which one and why.
401 Can't find Reusable Template.
401 Unauthorized account for Reusable Template.

Examples

GET /public/{version}/reusable_templates/f7b2a464-9c41-47fa-8b1e-bdee683713de
200
{
  "reusable_template": {
    "id": "f7b2a464-9c41-47fa-8b1e-bdee683713de",
    "name": "Test",
    "creator": {
      "name": "Althea Hirthe",
      "email": "ariel@dubuque.biz"
    },
    "expires_in": 30,
    "signer_sequencing": false,
    "shared_with": [
      "test@test.com"
    ],
    "distribution_method": "email",
    "identity_method": "email",
    "kba": false,
    "passcode": false,
    "filename": "application.pdf",
    "tags": {},
    "user_id": "c9d1d867-4ea6-4245-8b31-0db643db1dde",
    "roles": [
      {
        "name": "signer1",
        "sequence": 0,
        "message": "Please sign.",
        "signer_name": "",
        "signer_email": ""
      },
      {
        "name": "signer2",
        "sequence": 1,
        "message": "Please sign.",
        "signer_name": "",
        "signer_email": ""
      }
    ],
    "merge_field_components": [],
    "created_at": "2018-05-07T08:23:31.389-07:00",
    "updated_at": "2018-05-07T08:23:31.389-07:00",
    "thumbnail_url": "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/thumbnail_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793011&Signature=az2LSkGPzh4fchAdgQm0ZnVotoY%3D",
    "page_image_urls": [
      "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/original_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793011&Signature=fqGRitUbgweH%2BulIbHme0fO0ekI%3D"
    ]
  }
}

Params

Param name Description
id
required

Reusable Template ID

Validations:

  • Must be a String


GET /public/v2/reusable_templates
Return a list of available Reusable Templates

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
401 Could not find resource owner
401 Resource owner is not entitled
401 invalid_token
401 Must be authenticated.
401 Unauthorized application.
422 Bad input parameter. Error message should indicate which one and why.

Examples

GET /public/{version}/reusable_templates
200
{
  "reusable_templates": [],
  "meta": {
    "total_pages": 0
  }
}

Params

Param name Description
search
optional

A search token.

Validations:

  • Must be a String

per_page
optional

The number of reusable templates included per result page

Validations:

  • Must be a number.

page
optional

Specific page of results

Validations:

  • Must be a number.


POST /public/v2/reusable_templates/:id/prepare_document
Prepare a document to be sent from a Reusable Template

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
401 Can't find Reusable Template.
401 Unauthorized account for Reusable Template.
422 The role name supplied (<NAME>) does not match the role name expected.

Params

Param name Description
name
optional

A name for the document you are sending

Validations:

  • Must be a String

shared_with
optional

List of email recipients to share the document with

Validations:

  • Must be an array of String

message
optional

A message for all signers

Validations:

  • Must be a String

redirect_url
optional

A URL to redirect to after sending the document. Must start with http:// or https://. Example: example.com/redirect

Validations:

  • Must be a String

callback_url
optional

Document callback url. The URL will receive a POST for each of the following document events: created, viewed, signed, executed, voided, declined. Note that due to the asynchronous nature of processing, the order in which the document callbacks are sent is not guaranteed. Only HTTP ports 80, 8000-8099, 3000-3009 and HTTPS port 443 is supported. Basic auth is also supported. Ex. “me:pass@yourhost.example:8001/callback”.

ex. callback when document is viewed {

"callbackType":"Document",
"id":"edc7823a-7b99-45d7-9c3c-c7dc81f8dbf2",
"event":"viewed",
"documentState":"pending",
"createdAt":"2016-11-14T13:45:23.199-08:00"

}

Validations:

  • Must be a String

roles
required

Document signers

Validations:

  • Must be an Array of nested elements

roles[name]
required

Role name. For text tags, the role name in the request must correspond to the recipient name given as the second argument (name) in the text tag. When signer sequencing is enabled, the role name must match the signer name set on the template.

Validations:

  • Must be a String

roles[signer_name]
optional

Signer name

Validations:

  • Must be a String

roles[signer_email]
optional

Signer email

Validations:

  • Must be a String

roles[signer_omitted]
optional

A signer can be omitted if set to true and if signer_sequencing is enabled

Validations:

  • Must be one of: true, false.

roles[is_sender]
optional

Is signer the owner of document?

Validations:

  • Must be one of: true, false.

roles[message]
optional

Custom message to signer.

Validations:

  • Must be a String

expires_in
required

Document expiration. Must be between 1 and 365 days

pin
optional

Document pin. Must be between 10000 and 99999

tags
optional

Optional key value tags for categorization


POST /public/v2/reusable_templates/:id/send_document
Clone and send a Document from a Reusable Template

Sends a document from reusable templates with the specified id.

param merge_field_identifier and sub-param name has been added, see Params Section below to know more.

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
401 Can't find Reusable Template.
401 Unauthorized account for Reusable Template.
422 The role name supplied (<NAME>) does not match the role name expected.
422 Merge field ids/names do not match the reusable template's merge fields.

Examples

POST /public/{version}/reusable_templates/fcc2517e-c596-4d91-9f59-112a292eb643/send_document
{
  "access_token": "6732e93a3f4647b8f33260eba68041cf97542a224b687de189920644172c3bcb",
  "message": "Please sign this",
  "expires_in": 30,
  "roles": [
    {
      "name": "signer1",
      "signer_email": "geoff@sample.com",
      "signer_name": "geoff"
    }
  ],
  "name": "This is the name of a document",
  "reusable_template": {
    "roles": [
      {
        "name": "signer1",
        "signer_email": "geoff@sample.com",
        "signer_name": "geoff"
      }
    ]
  }
}
200
{
  "document": {
    "id": "526819c7-45df-4b71-82c0-6aab3ac1a1dc",
    "current_signer_id": "813e6fa2-650c-4da6-b27f-a3861967f20f",
    "name": "This is the name of a document",
    "filename": "application.pdf",
    "executed_at": null,
    "expired_at": "2018-06-06T08:23:31.934-07:00",
    "sent_at": "2018-05-07T08:23:31.961-07:00",
    "state": "pending",
    "thumbnail_url": "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/thumbnail_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793011&Signature=az2LSkGPzh4fchAdgQm0ZnVotoY%3D",
    "sender": {
      "id": "df5c5874-6613-4a9b-8ef6-34e2a932b03a",
      "name": "Prince Effertz",
      "email": "jayda@gibsonkuhic.name",
      "signer": false
    },
    "recipients": [
      {
        "role_name": "signer1",
        "name": "geoff",
        "email": "geoff@sample.com",
        "status": "pending",
        "id": "813e6fa2-650c-4da6-b27f-a3861967f20f",
        "sign_url": "https://secure.rs.dev:3000/signers/813e6fa2-650c-4da6-b27f-a3861967f20f/sign?access_token=yWSRRzysutShj15ydX4h",
        "remind_url": "https://api.rs.dev:3002/public/{version}/signers/813e6fa2-650c-4da6-b27f-a3861967f20f/reminders",
        "message": "Please sign this",
        "sequence": 0
      }
    ],
    "audits": [],
    "page_image_urls": [
      "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/original_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793012&Signature=7LwQlkS5zTna5gDFhuM5y0J307c%3D"
    ],
    "signed_pdf_url": null,
    "tags": {},
    "merge_field_values": [],
    "embed_codes": null,
    "in_person": false,
    "shared_with": [
      "test@test.com"
    ],
    "identity_method": "email",
    "passcode_pin_enabled": false,
    "original_file_url": "https://rightsign-development.s3.amazonaws.com/base_files/original/af7d073d-74eb-4539-8412-5a7c4e262cd5/application.pdf?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793012&Signature=fv5yF%2BLySuyCjOCr%2FcZBq7L7aDs%3D&response-content-disposition=attachment%3B%20filename%3Dapplication.pdf"
  }
}

Params

Param name Description
name
required

A name for the document you are sending

Validations:

  • Must be a valid string.

shared_with
optional

List of email recipients to share the document with

Validations:

  • Must be an array of String

message
optional

A message for all signers

Validations:

  • Must be a String

in_person
optional

Whether the document should be signed in person

Validations:

  • Must be one of: true, false.

callback_url
optional

Document callback url. The URL will receive a POST for each of the following document events: created, viewed, signed, executed, voided, declined. Note that due to the asynchronous nature of processing, the order in which the document callbacks are sent is not guaranteed. Only HTTP ports 80, 8000-8099, 3000-3009 and HTTPS port 443 is supported. Basic auth is also supported. Ex. “me:pass@yourhost.example:8001/callback”.

ex. callback when document is viewed {

"callbackType":"Document",
"id":"edc7823a-7b99-45d7-9c3c-c7dc81f8dbf2",
"event":"viewed",
"documentState":"pending",
"createdAt":"2016-11-14T13:45:23.199-08:00"

}

Validations:

  • Must be a String

roles
required

Document signers

Validations:

  • Must be an Array of nested elements

roles[name]
required

Role name. For text tags, the role name in the request must correspond to the recipient name given as the second argument (name) in the text tag. When signer sequencing is enabled, the role name must match the signer name set on the template.

Validations:

  • Must be a String

roles[signer_name]
optional

Signer name

Validations:

  • Must be a String

roles[signer_email]
optional

Signer email

Validations:

  • Must be a String

roles[signer_omitted]
optional

A signer can be omitted if set to true and if signer_sequencing is enabled

Validations:

  • Must be one of: true, false.

roles[is_sender]
optional

Is signer the owner of document?

Validations:

  • Must be one of: true, false.

roles[message]
optional

Custom message to signer.

Validations:

  • Must be a String

merge_field_identifier
optional

Merge Field Identifier. By specifying it to “name” API user can map merge field value with the name instead of merge field id

Validations:

  • Must be one of: id, name.

merge_field_values
optional

Merge Fields

Validations:

  • Must be an Array of nested elements

merge_field_values[id]
optional

Merge Field ID

Validations:

  • Must be a String

merge_field_values[name]
optional

Merge Field Name. This is the name provided to the merge field on the webapp, while creating the template. If it matches more than one merge field component in template all of them will be filled with the same value

Validations:

  • Must be a String

merge_field_values[value]
required

Merge Field value. If the merge field is a date, the value should be in yyyy/mm/dd or yyyy-mm-dd format.

Validations:

  • Must be a String

expires_in
required

Document expiration. Must be between 1 and 365 days

pin
optional

Document pin. Must be between 10000 and 99999

tags
optional

Optional key value tags for categorization

kba
optional

Enable KBA on the document (applicable for KBA enabled plans)

Validations:

  • Must be one of: true, false.


POST /public/v2/reusable_templates/:id/embed_document
Embed a cloned document from a Reusable Template

Embeds a document from reusable templates with the specified id.

param merge_field_identifier and sub-param name has been added, see Params Section below to know more.

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
401 Can't find Reusable Template.
401 Unauthorized account for Reusable Template.
422 The role name supplied (<NAME>) does not match the role name expected.
422 Merge field ids/names do not match the reusable template's merge fields.
422 Embed height should be 500 or greater
422 Embed width should be 706 or greater

Examples

POST /public/{version}/reusable_templates/e011e65a-79a1-488a-b875-89a569a48da7/embed_document
{
  "access_token": "a82490f7708d949b449453a17705b191cd6f37b5cff7e3bd8cf6b92d88ea48f4",
  "message": "Please sign this",
  "expires_in": 30,
  "roles": [
    {
      "name": "signer1",
      "signer_name": "geoff"
    }
  ],
  "name": "This is the name of a document",
  "api_embed_width": "706",
  "api_embed_height": "500",
  "reusable_template": {
    "roles": [
      {
        "name": "signer1",
        "signer_name": "geoff"
      }
    ]
  }
}
200
{
  "document": {
    "id": "25b47840-0925-4241-99b9-7486362decbd",
    "current_signer_id": "4262bfbe-032e-41fe-a899-3afacbbe59e7",
    "name": "This is the name of a document",
    "filename": "application.pdf",
    "executed_at": null,
    "expired_at": "2018-06-06T08:23:32.224-07:00",
    "sent_at": "2018-05-07T08:23:32.253-07:00",
    "state": "pending",
    "thumbnail_url": "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/thumbnail_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793012&Signature=%2BuRBmk3S1Ss4viFAbhfdcmVLX08%3D",
    "sender": {
      "id": "ceb73f25-0f0c-460b-9950-d8c1e4f8d925",
      "name": "Stuart Ziemann",
      "email": "everardo_schimmel@lindgrenfeil.com",
      "signer": false
    },
    "recipients": [
      {
        "role_name": "signer1",
        "name": "geoff",
        "email": null,
        "status": "pending",
        "id": "4262bfbe-032e-41fe-a899-3afacbbe59e7",
        "sign_url": "https://secure.rs.dev:3000/signers/4262bfbe-032e-41fe-a899-3afacbbe59e7/sign?access_token=vcePnuyc8Zj3NfDD9Hh5",
        "remind_url": "https://api.rs.dev:3002/public/{version}/signers/4262bfbe-032e-41fe-a899-3afacbbe59e7/reminders",
        "message": "Please sign this",
        "sequence": 0
      }
    ],
    "audits": [],
    "page_image_urls": [
      "https://rightsign-development.s3.amazonaws.com/base_files/processed/b4cbbcd26be61d830bace968d28bad7c1046c1f759a5f40b7e01da4fbccac152_123_0_wi/original_p1.png?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793012&Signature=7LwQlkS5zTna5gDFhuM5y0J307c%3D"
    ],
    "signed_pdf_url": null,
    "tags": {},
    "merge_field_values": [],
    "embed_codes": [
      {
        "embed_code": "<div style=\"display:block;margin:0;padding:0;border:0;outline:0;font-size:10px!important;color:#AAA!important;vertical-align:baseline;background:transparent;width:706px;\"><iframe frameborder=\"0\" height=\"500\" scrolling=\"no\" src=\"https://secure.rs.dev:3000/signers/4262bfbe-032e-41fe-a899-3afacbbe59e7/sign?access_token=vcePnuyc8Zj3NfDD9Hh5\" width=\"706\"></iframe></div>",
        "signer_email": null,
        "signer_role_name": "signer1"
      }
    ],
    "in_person": false,
    "shared_with": [
      "test@test.com"
    ],
    "identity_method": "none",
    "passcode_pin_enabled": false,
    "original_file_url": "https://rightsign-development.s3.amazonaws.com/base_files/original/31262dd7-724b-48f0-a642-9c313d680165/application.pdf?AWSAccessKeyId=AKIAJSRMQNOZ6XOBJZ4A&Expires=1525793012&Signature=PyyMOhZAybdz6gunjEkVvKA4vLE%3D&response-content-disposition=attachment%3B%20filename%3Dapplication.pdf"
  }
}
POST /public/{version}/reusable_templates/df643e6f-7a61-437b-b225-c32f0f83f9c9/embed_document
{
  "access_token": "33175d0e79a201b002959eced15f857e31ca7a45574f3db9738989d939a143af",
  "message": "Please sign this",
  "expires_in": 30,
  "roles": [
    {
      "name": "signer1"
    }
  ],
  "name": "This is the name of a document",
  "api_embed_width": "706",
  "api_embed_height": "500",
  "reusable_template": {
    "roles": [
      {
        "name": "signer1"
      }
    ]
  }
}
422
{
  "error": "Signer Name is required"
}

Params

Param name Description
name
required

A name for the document you are sending

Validations:

  • Must be a String

shared_with
optional

List of email recipients to share the document with

Validations:

  • Must be an array of String

message
optional

A message for all signers

Validations:

  • Must be a String

roles
required

Document signers

Validations:

  • Must be an Array of nested elements

roles[name]
required

Role name. For text tags, role name must match.

Validations:

  • Must be a String

roles[signer_name]
required

Signer name

Validations:

  • Must be a String

roles[signer_email]
optional

Signer email.

Validations:

  • Must be a String

roles[is_sender]
optional

Is signer the owner of document?

Validations:

  • Must be one of: true, false.

roles[message]
optional

Custom message to signer.

Validations:

  • Must be a String

api_embed_width
required

Embed width

api_embed_height
required

Embed height

merge_field_identifier
optional

Merge Field Identifier. By specifying it to “name” API user can map merge field value with the name instead of merge field id

Validations:

  • Must be one of: id, name.

merge_field_values
optional

Merge Fields

Validations:

  • Must be an Array of nested elements

merge_field_values[id]
optional

Merge Field ID

Validations:

  • Must be a String

merge_field_values[name]
optional

Merge Field Name. This is the name provided to the merge field on the webapp, while creating the template. If it matches more than one merge field component in template all of them will be filled with the same value

Validations:

  • Must be a String

merge_field_values[value]
required

Merge Field value. If the merge field is a date, the value should be in yyyy/mm/dd or yyyy-mm-dd format.

Validations:

  • Must be a String

expires_in
required

Document expiration. Must be between 1 and 365 days

tags
optional

Optional key value tags for categorization


DELETE /public/v2/reusable_templates/:id
Delete a Reusable Template

Supported Formats

json

Errors

Code Description
400 invalid_scope
400 unauthorized_client
422 Bad input parameter. Error message should indicate which one and why.
404 Can't find Reusable Template.
401 Unauthorized account for Reusable Template.

Params

Param name Description
id
required

Reusable Template ID

Validations:

  • Must be a String