Integrate eSign's API eSignature software into your website and existing applications for a seamless digital experience for both you and your customers.
API connects your business processes.
An Application Programming Interface (API) acts as a software bridge, enabling multiple applications to communicate effortlessly. An API links your business processes, services, content, and data with channel partners, internal teams, and independent developers securely and efficiently.
APIs are rapidly becoming the standard for companies to exchange data and construct consistent cross-channel customer experiences.
Greater flexibility and convenience.
An API offers users a range of seamlessly integrated features, delivering increased flexibility and convenience, especially when using digital signatures.
APIs consolidate various application functions into a unified software program, enhancing accessibility and the user experience for both you and your customers.
Compliant with all major eSignature laws.
Choosing eSign’s API service guarantees the security and compliance of your API.
Our platform and advanced electronic signatures comply with global eSignature laws, utilizing an encrypted client library for end-to-end protection of your document contents and sensitive data.
Easy to use eSign.
We aim to simplify the API integration process. To assist with integration, we’ve created the Developer Hub for eSign customers.
Here, you’ll find important links to documentation and reference codes and guides, along with our latest SDKs and Tools.
Utilize an API to enable advanced automation into your workflows, ensuring a smoother and more efficient digital experience.
Effortlessly merge multiple applications into a unified software platform using an API.
By integrating your applications, provide your customers with a cohesive and user-friendly website experience.
Integrate an API to eliminate barriers between your customers and business, promoting increased traffic through flexible and convenient functionality.
Rest assured that all your data and communications are secure and compliant with the eSign platform.
Use eSign's API to establish an integrated process within existing or new applications, innovating your current workflows.
Leverage eSign’s iFrame functionality to generate envelopes within your system.
LEARN MOREGenerate and sign an envelope effortlessly with a single click using the API.
LEARN MORERetrieve account data seamlessly using eSign’s OAuth functionality.
LEARN MOREThe healthcare industry clearly recognised the need to adopt a digital approach to prescription processing, giving operational advantages, regulatory compliance and improvements to patient safety.
LEARN MOREThere has been significant time and cost savings on the sign-up process for new tenants as there is no longer a requirement for officers or tenants to travel to meet in a location to sign the agreement.
LEARN MOREWe have seen significant improvements in our pharmacy service efficiency since implementing eSign. The platform is user-friendly and has allowed our team to securely provide prescriptions for patient medication.
LEARN MOREeSign templates can save you time and resources by avoiding the need to continually create new documents for every use. You can use our pre-built templates or upload your own to the platform and seamlessly integrate them into your processes.
Comprehensive digital document solutions tailored for accounting, propelling your business with optimized workflows, streamlined transactions, and economical services.
LEARN MOREElevate your educational institution with eSign's all-encompassing digital document solutions, enabling streamlined processes, efficient transactions, and cost-effective services.
LEARN MOREeSign presents comprehensive digital document solutions tailored for healthcare organizations, optimizing processes, enhancing transactions, and providing cost-effective services.
LEARN MOREeSign delivers comprehensive digital document solutions designed for insurance companies, propelling your business ahead with streamlined processes, efficient transactions, and cost-effective services.
LEARN MOREeSign's intuitive interface and numerous integrations work with your systems, saving you time and money, so you can prioritize growth.
LEARN MOREEnhance document processing speed and completion, boost compliance adherence, and elevate contract reviews using a digital document management solution that streamlines the entire process.
LEARN MOREFurnish your life sciences business with a digital document platform, enabling a cohesive agreement process, heightened efficiency, and accelerated document turnaround times.
LEARN MORE
An Application Programming Interface (API) serves as a software bridge that enables different applications to interact with one another. By using an API, you can seamlessly and securely link your business operations, services, content, and data with channel partners, internal teams, and independent developers.
The E-Sign API allows developers to easily embed E-Sign’s electronic signature capabilities into their own applications. With this API, developers can efficiently create, send, and manage documents that require electronic signatures. Additionally, it enables tracking the signing status of documents and provides tools for managing account settings and user profiles.
The E-Sign API provides an excellent solution for simplifying the management of signed agreements. Developers can easily integrate their systems with the E-Sign API, offering a reliable and intuitive way to upload documents, initiate signing requests, send reminders, and collect electronic signatures.
Example:
curl -X GET “https://sandbox.e-sign.co.uk/v3/accounts” -H “accept: application/json” -H “Authorization: Token API_KEY”
E-Sign follows standard HTTP response codes to communicate the outcome of an API request. Generally:
Code | Explanation |
---|---|
200 – OK | Everything worked as expected. |
201 – Created | The request succeeded, and a new resource was created as a result. |
204 – No Content | The server has successfully fulfilled the request and that there is no additional content to send in the response payload body. |
400 – Bad Access | The request was unacceptable, often due to missing a required parameter. |
401 – Unauthorized | No valid API key provided. |
402 – Request Failed | The parameters were valid but the request failed. |
403 – Forbidden | The API key doesn’t have permissions to perform the request. |
404 – Not Found | The server can not find the requested resource – the endpoint is valid but the resource itself does not exist. |
409 – Conflict | The request conflicts with another request (perhaps due to using the same idempotent key). |
410 – Gone | This response is sent when the requested content has been permanently deleted from the server, with no forwarding address. |
422 – Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors. |
429 – Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
500, 502, 503, 504 – Server Errors | Something went wrong on E-Sign’s end. These responses are very uncommon. |
This guide leads you through a typical implementation of the E-Sign API.
This guide will go through the process of sending an envelope from document upload to envelope submission.
The first step is retrieving the document ID of any documents that will be included in the envelope.
Documents can be uploaded by passing them in base64 format to API, a document ID will be returned in the response.
POST https://sandbox.e-sign.co.uk/v3/uploads/
JSON Body
Example Response
The returned ID will be used in the body of then envelope request.
The next stage is the collection of relevant data for the envelope, for example, the signers name and email and any fields required on the document.
Fields are the essential building blocks that give envelopes their function, E-Sign uses different fields for different purposes, fields include request signature, request text and many more.
For this example, we will just be adding one signature field to the document.
Fields are positioned and rendered over the top of the uploaded document by the server once the envelope has been signed and completed. The field positioning is done using percentages so the positioning can remain dynamic.
POST https://sandbox.e-sign.co.uk/v3/envelopes
Once the envelope request has been made the signer will receive an email with the information included in the body of the request, the email will also contain a link to open the signing page.
Documents are required for sending envelopes. Their IDs are specified in the body of the envelope request.
Documents can be uploaded by passing them in base64 format to the API, the documents ID will be returned in the body of the response.
POST https://sandbox.e-sign.co.uk/v3/uploads
JSON Body:
Example response:
This will add the document to the account connected to the API Key.
Envelopes contain documents that are sent to the end user to be signed, envelopes are created and completed all from within the API.
To send an envelope, you must first upload any documents required for sending. The create envelope request will use the ID of these documents.
Request URL
POST “https://sandbox.e-sign.co.uk/v3/envelopes”
Simple body
The primary requirements in the body are the documents with their document fields and signers. Together these form an envelope. There are additional parameters that can be added into an envelope request however they are not required as the API will provide default values for any values not specified.
The ID of each document should be specified in the documents object in the document array, each document that is in the array will be part of the envelope sent to the signer.
The document objects contain the identifying data for the document and the fields that are present on the document. All fields available on the web app are also available on the API.
Document Field example body
A document field can be any of the following:
These are also the identifiers for the field types defined as the “field_type” value.
The field required Boolean value defines if the user will be required to complete the field to continue. It defaults to false.
The field place holder value sets a text description of the field, this again is optional and only used for text fields.
The field amount value specifies the amount when using the payment field.
The field value is the value of the request field.
Field drop down options are used when using the drop-down field.
The document position specifies the location of the field relative to the top left corner of the document, percentages are used so that scalability can be allowed.
To see all the available values in the body of the request view the schema on the api reference, there you will find a brief description for each value.
Signing envelopes is a simple process that involves simply providing the field values for the fields on an envelope. The values are sent in the body of the request alongside an agree or decline value and some meta data for the envelope.
POST /v3/signers/signer_id/documents/document_id
In the request URL the id of the signer and id of the document should be specified, this can be found in the response on a create envelope call.
Once the data has been arranged correctly in this format the signature request can be submitted.
A request should be made for each document in the envelope.
This guide will follow the process required to complete a document inside an Iframe.
This is used when you would like to keep a customer in one environment and not require them to be redirected to E-Sign. You can complete an entire process from within your own site.
The first part of this process is creating the envelope using the api. A shortened example of the body of the request is shown below:
Here the envelope should be created as normal but signing emails should be set to true so that an email is not sent to the signer, this is because the signer will be signing using an iframe instead.
The next step is to assign the correct URI to the iframe so that the envelope can be signed.
The URI is constructed as follows:
https://api.e-sign.co.uk/link?e=ENVELOPE_ID&s=SIGNER_ID
When assigned to an iframe this will redirect to app.e-sign.co.uk and show the signing page for the user.
If testing in sandbox use sandbox.e-sign.co.uk instead of api.e-sign.co.uk, this will redirect to xyz.e-sign.co.uk to test your process.
Example:
The URI can be assigned to the iframe src tag and displayed on a webpage.
E-Sign can make POST requests to your URLs when events occur on your account.
The events that can be used as triggers:
[ document_signed, envelope_created, envelope_completed ]
The webhook will be triggered on the selected event and the POST request will follow to the selected URL defined in the body of the create webhook request.
Response:
The content of the post request made to the target url will contain data based on the event:
Document signed events:
Envelope created and completed:
Existing webhooks can be retrieved using the GET webhooks route.
Retrieve Webhook: GET /v3/webhooks
Response:
Webhooks can be deleted using their unique ID
Delete webhook: DELETE /v3/webhooks/ID
On successful request the server will respond with a 204 code – No content.
This feature is designed to allow users to add fields to documents within an Iframe utilizing the existing E-Sign web app.
Creating your own interface to add fields to documents can be very time consuming but may be required if you wish to create custom workflows in your own environment.
This API call returns a URI that can be assigned to an iframe that will allow you to add fields to documents and send the envelope from within the Iframe.
The body of the request is similar to the body of a create envelope request just without the document field data on each document object.
POST ‘sandbox.e-sign.co.uk/v3/envelopes/redirect’
Example body:
Example response:
The API uses the document ids in the body to retrieve the relevant documents from the database.
The Iframe is an instance of the envelope creation process and has a simple to follow workflow.
The user can add fields, then confirm and send their document with the same flow on the webapp.
Once the flow is completed and the envelope has been sent, the child page within the iframe emits a post message from the e-sign url that can be used as indication that the process has been complete.
In the demo on this site the post message is used as an indicator to close the iframe and redirect the user using host listeners in angular.
The click to sign on the demo site work by utilizing E-Sign’s templates.
The workflow is quite simple but makes effective use of the template using HTML forms to fill the fields before the envelope has been generated.
The data is collected on the web app before the envelope is generated.
A template request pulls in the template and the relevant fields are displayed. Once the user has filled in the fields and a submit action is triggered the envelope is generated from the template and then completed immediately following its creation using the pre collected data on the web page.
In our click to sign demo we use this same process.
The template has three fields, two request text boxes for Name and Email and a Signature field.
The request text fields have placeholder text ‘Name’ and ‘Email’. When the get template request returns the template, the placeholder text for each field can be used to assign HTML input fields to each request text field.
On the page the document is then displayed inside an image tag and the HTML input fields can be absolutely positioned based on the position values returned in the template response.
The field position is a percentage relative to the top left corner of the document. This allows the field position to always be correct regardless of the size of the display.
To send any envelope, a signer’s name and email are required, therefore these two fields are included as they will be used for the envelope creation.
Note: in the body of the request dont_send_signing_emails is set to true so that the process is contained to the custom environment.
In the example, once the user has filled in the name and email inputs, the signature field automatically populates using the signers name, this is done to keep the signing process simple as completed document will have an autonomously generated signature anyway.
Once all the field data has been collected, the envelope can be created from the template and signed in sequence allowing the process to be complete instantly.
OAuth is an authentication protocol that allows you to approve one application interacting with another on your behalf without giving away your password.
OAuth doesn’t share password data but instead uses authorization tokens to prove an identity between consumers and service providers.
For example, you can tell E-Sign that it’s OK for third-party-site.com to access your account without having to give third-party-site.com your E-sign password. This minimizes risk in a major way: In the event third-party-site.com suffers a breach, your E-sign password remains safe.
OAuth is available to API customers. It can be used to act on the users’ behalf without the user sharing their password, instead the third-party application receives an access token that is used as the Bearer Token to make calls to the E-Sign API on the users’ behalf.
An overview of the steps:
This can be done via the API.
Here is an example of an OAuth app’s data once it has been created:
A link to E-Sign’s authorization page can be constructed in the following format:
https://app.e-sign.co.uk/?response_type=code&client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]
Using our application data, the link would be:
https://app.e-sign.co.uk/?response_type=code&client_id=myid123&redirect_uri=http://demo-site.com
This link will redirect to the OAuth authorization page prompting the user to log into their e-sign account and allow the application to use their data.
After the user has agreed they will be redirected to the redirect_uri with a code parameter attached e.g., http://demo-site.com?code=72837jzcks3rr
This code is important as it is required for the next step, getting a token for the user requests.
The endpoint to retrieve a user token is https://api.e-sign.co.uk/v3/oauth/token, as a POST request and takes the following body:
For a successful request you should expect to receive the following:
The access token can now be used as the bearer token for any requests for the users’ data