Developer

Integrate e-signatures into your own product

The Mocha Signature external API lets your application send documents for signature, follow every recipient's progress, and receive the finished PDF on your own endpoint. Two headers to authenticate, JSON in and JSON out, signed webhooks for the events that matter.

What you can build

Templates

List the templates in your account and read the recipient roles each one expects before you send.

Envelopes

Send a document out for signature straight from your own application, with your own subject line and message.

Tracking

Show live signing progress per recipient — viewed, completed, declined, with the reason they gave.

Webhooks

Receive the signed PDF the moment every recipient is done, signed with HMAC-SHA256 and retried on failure.

Send a document in one call

Once you have a template and an API key, sending an envelope is a single request. Read the recipient roles from /get-template-detail first so they always match the template.

cURL
# Read your credentials from the environment - never paste an API key
# into a shell command, where it lands in your history and process list.
#   export MOCHA_TENANT=...
#   export MOCHA_API_KEY=...

curl -X POST \
  'https://services.us.uat.mochatechnologies.com/signature/api/V1/send-envelop' \
  -H "X-Tenant: $MOCHA_TENANT" \
  -H "Api-Key: $MOCHA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "acf28c4584f007dca67b",
    "company_name": "Your Company",
    "email_subject": "Please sign the Non-Disclosure Agreement",
    "message": "Kindly review and sign the attached document.",
    "template_id": "73766101002022",
    "recipients_role": [
      { "role": "Signer 1", "name": "John Doe", "email": "john.doe@example.com" }
    ]
  }'

Endpoint index

EndpointWhat it does
POST /get-template-by-userList the templates available to your account.
POST /get-template-detailRead a template's recipient roles and how many are required.
POST /send-envelopCreate an envelope from a template and email it for signing.
POST /envelop-trackingTrack the envelope and each recipient's state.
POST /webhook/deliveriesInspect the delivery log for a single webhook attempt.

Need a hand with your integration?

Send us the endpoint you are calling, the request body and the response you received — our team will take it from there.