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. 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. 2

    Create a client for each of your customers

    A client groups the contracts, templates and webhooks of one business on your platform.

  3. 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. 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.