eSignature API
eSignature API for developers
Create contracts from text, templates or PDFs, send them for signing and approval, and track every step with webhooks. One REST API with a single API key header.
Contracts from text, templates or PDF
Create a contract from HTML text, from a reusable template, or by uploading a PDF. Fill in placeholders in the same request, or create and send in one call.
Signing, approvals and viewing
Add recipients and choose what each one does: sign, approve, view or lock. Sendforsign emails them a personal link or you share the link yourself.
Placeholders and dynamic tables
Mark the fields of a contract as placeholders, decide who fills each one in, turn a placeholder into a dynamic table, or place fields on the pages of a PDF.
Webhooks for every step
Get notified when a contract is created, sent, seen, approved, signed by a recipient and fully signed by everyone.
Multi-tenant by design
Map each customer of your platform to a Sendforsign client and each of their employees to a client user. Data and webhooks are separated per client.
Audit trail and documents
Read the timeline of a contract, and download the result as PDF or as a Word file for text contracts.
Create a contract in one request
curl -X POST 'https://api.sendforsign.com/api/contract' \
-H 'X-Sendforsign-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"action": "create",
"clientKey": "YOUR_CLIENT_KEY",
"contract": {
"name": "Sales contract",
"value": "<p>Contract text</p>"
}
}
}'How it works
- 1
Get your API key
Sign up, open the API Keys tab of your dashboard and copy the key. Every request carries it in the X-Sendforsign-Key header.
- 2
Create a client for each of your customers
A client groups the contracts, templates and webhooks of one business on your platform.
- 3
Create a contract and add recipients
Create the contract from text, a template or a PDF, then add the people who sign, approve or view it.
- 4
Send it and listen for webhooks
Send the contract to recipients and react to the seen, approved and signed events in your backend.
Frequently asked questions
How do I authenticate requests to the Sendforsign API?
Add the X-Sendforsign-Key header with your API key to every request. All requests go over HTTPS to https://api.sendforsign.com/api.
Can I create contracts from my own templates?
Yes. Create a template with placeholders once, then create contracts from it and fill in the placeholder values in the same request.
Does the API support PDF documents?
Yes. Upload a PDF as a contract, place text fields and recipient fields such as signature, name, email and date signed on its pages, and download the signed PDF.
Which events can I receive with webhooks?
contract.created, contract.sent, contract.seen, contract.approved, contract.signed and contract.fully_signed.
Are signatures made with Sendforsign legally valid?
Sendforsign provides Simple Electronic Signatures (SES), suitable for everyday agreements, with an audit trail of every action on the document.