eSignature API > API Documentation

API Documentation

API and Samplecode

The API is for developers, who want to integrate eSignAnyWhere into their application and for administrators, who want to script interactions with eSignAnyWhere (e.g. user synchronization).

Quick Overview: eSAW uses SOAP or REST (with XML or JSON) as API. We recommend the SOAP interface (see Sample Code C#, Hello World Tutorial, SOAP UI Tutorial). The basic workflow is to upload a document (uploadTemporarySspFile) and then call sendEnvelope with a envelope configuration (the Envelope XML). The configuration consists out of the envelope part (workflow configuration) and for each recipient a definition and a signing configuration (workstep configuration). The workstep configuration is the description (as XML for SOAP) of tasks for signer (e.g. Signature Fields, Form-Fields) and additional document configurations.

The easiest way to start is enabling the DeveloperMode for a user. As developer (and power user) you can send envelopes via eSignAnywhere in the UI and download the complete envelope configuration (including the workstep configurations). So eSAW can be a seen as configuration designer, where you can easily prepare the envelope configuration. After you downloaded the configuration you just have to replace the recipient informations and configuration.


API Reference* visit API Reference (eSAW & Usermanagement)
eSAW SOAP API endpoint
Usermanagement SOAP API endpoint
Usermanagement SOAP WSDL
REST with JSON + Swagger ( eSAW v3.1+)
Sample Code in C#* Download. The Sample Code contains examples with SOAP and REST.
REST (with XML) Sample in JAVA (DEPRECATED) Download (deprecated, please use the REST with JSON interface)
Tutorial: Hello World* visit Hello World Tutorial
Tutorial: SoapUI* visit SoapUI Tutorial
The Envelope XML and WorkstepConfiguration XML visit Envelope XML Guide
Tutorial: Java Library Tutorial and Sample Code visit Java Library Tutorial
Integration & Use Cases visit Integration & Use Cases
How To’s visit How To Guides
Developer FAQ visit Developer FAQ

* Recommended

The User Guide, Signer Guide and Administration Guide (for on-premise customers) can be also helpful.

SOAP calls with XML and REST with JSON

SOAP uses XML, which have to be encoded via HTML special charaters (“<” in “<” and “>” in “>”). Higher programming languages takes automatically care of the conversion, so just in lower languages it is required (or also SoapUI). If this encoding is not done you will receive a HTTP 400 Bad Request error.

REST uses JSON. We recommend to have a look in the sample code first, otherwise Swagger UI is available for integration.


For authentication, you’ll need a application key and your email-address. You can find this information in Settings / Organization / Application key. Note that all API methods require authentication. Start with the Hello World or SoapUI Tutorial and you might have a look in the envelope XML guide. Please note, that the email is automatically the user, who sends the envelope.

<!-- SOAP XML Authentication -->

SOAP response and errors

The SOAP response is a XML datastructure with the state of the response and the response itself. In baseResult you see the state of the call (ok/failed) and in errorInfo or okInfo the response of your request. In case of an error a helpful message is in the errorInfo.

The following you see an authorization error:

<apiResult version="2.2.458.6616">
    <errorMsg>ERR0011: Parameter apiAuthorizationXml is incorrect: Failed to parse</errorMsg>


The REST with JSON and inline XML is deprecated. Please use the REST/JSON interface (

You have to use HTTP-POSTs, set the content-type to application/json, and wrap the parameter into a JSON object for the request content. Furthermore, the result is wrapped in a JSON object with a single property.

Sample for the method string DisposeSspFile_v1(string authorizationXml, string sspFileId):

  • HTTP Post Request to YOURSERVER\Api.asmx\DisposeSspFile_v1
  • Add HTTP header content-type=application/json

Request content:

  "authorizationXml" : "<authorization>...<\/authorization>",
  "sspFileId" : "MyFileId" 

Request response:

  "d": "<apiResult>...</apiResult>" 

eSAW API description for SOAP

SOAP API endpoint is
WSDL can be found here:

Methods for sending an envelope or to create a draft of an envelope

An envelope can consist of multiple documents and can contain multiple recipients for signing (steps). Your backend application will provide the documents for the envelope and the configuration of the workflow and worksteps. Once the envelope has been completed or rejected, your backend will be notified from eSignAnyWhere about this (callback). Therefore you can provide a callback url, so you don’t need to poll the eSAW system.

The pattern for sending an envelope

Upload all documents for this envelope (UploadTemporarySspFile_v1)
Optional: Analyze all documents to get a default configuration. (GetAdHocWorkstepConfiguration_v1)
Optional: Prepare configuration for every signing step in the envelope, by adjusting the xml accordingly.
Start the workflow of the envelope by providing the general configuration of the envelope and the configuration for every step (SendEnvelope_v1)

The pattern for creating a draft of an envelope:

Upload all documents for this envelope (UploadTemporarySspFile_v1)
Create the draft by providing the general configuration of the envelope (CreateDraft_v1)
You can redirect the user to the designer of eSignAnyWhere to manually position and assign fields for the recipients pf this envelope.

Methods for downloading the documents of an completed envelope

Once you get the notification from eSignAnyWhere that an envelope has been completed, you can download the signed documents and the log of the envelope.

The pattern for downloading documents of an completed envelope

Check the status of that Envelope, to be sure it is completed and not rejected. (GetEnvelopeById_v1)

Download all the signed documents and the envelope log. (DownloadCompletedDocument_v1)

Methods for managing an envelope

SendReminders_v1: Send reminders to all recipients that currently can sign the envelope
CancelEnvelope_v1: Cancels the envelope
DeleteEnvelope_v1: Delets an envelope or a draft of an envelope
RestartEnvelope_v1: Restarts an expired envelope

Print Friendly