Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby Gem for Adobe's EchoSign API
Ruby CSS JavaScript
branch: master
Failed to load latest commit information.
doc Finish finessing the documentation
features/support Add VCR tests on Client and Request
fixtures Finish finessing the documentation
lib Finish finessing the documentation
.gitignore Add documentation to the repo
.rspec Add Agreement modules
Gemfile Add VCR tests on Client and Request
Gemfile.lock Finish finessing the documentation
LICENSE Initial commit
LICENSE.txt Add gem biolerplate Finish finessing the documentation
Rakefile Move validation to module
apiary.apib Transferring blueprint from
echochamber.gemspec Finish finessing the documentation


Ruby Gem to consume Adobe's EchoSign e-signature service - REST service v2


gem install echochamber


The bulk of the API is on the Echochamber::Client class

You can read Echochamber's full API Documentation

It also wouldn't hurt to read Adobe's Echosign API documentation


Initializing a client

require 'echochamber'

credentials =, app_secret, api_key, email, password)

client =

Setting up a new agreement from a URL

url_file_params = {
      url:      '',
      mimeType: 'application/pdf',
      name:     'contract.pdf'

file_info_params = {

recipient_params = {
     role: 'SIGNER', email: ''

agreement_info_params = {
     fileInfos:       [ ],
     recipients:      [],
     signatureFlow:   "SENDER_SIGNS_LAST",
     signatureType:   "ESIGN",
     name:            "Rumplestiltskin Contract"

agreement =, sender_email, agreement_info) 

agreement_id = client.create_agreement(agreement)

Cancelling a pending agreement

result = client.cancel_agreement(agreement_id, true, 'Because...blah blah.')

Creating a user

user_params = {
      firstName:  'JohnQ',
      lastName:   'Public',
      email:      '',
      password:   'kN12oK9p!3',
      title:      'Hedge Wizard'

user =

user_id = client.create_user(user)

Sending a transient document for later referral

tran_doc_id = client.create_transient_document(file_name, mime_type,'myfile.pdf'))
Something went wrong with that request. Please try again.