Receive webhooks and check their signature

Get envelope.sent, signer.opened, signer.signed, signer.declined, envelope.completed and envelope.voided.


  1. 1

    In Developers, an owner or a manager adds an endpoint (a public https address) and picks events — or leaves all events.

  2. 2

    Copy the signing secret (whsec_…); it is shown once. Tap Send test to receive a ping.

  3. 3

    Each message is a JSON { id, type, created, data } sent by POST with the header MyESign-Signature: t=<unix time>,v1=<hex>.

  4. 4

    To check it, compute HMAC-SHA256 with your secret over <t>.<raw body> and compare it with v1. Reject messages that do not match.

  5. 5

    Each delivery is attempted once with a short timeout, and Developers shows the last status. Use GET /v1/envelopes/{id} to confirm the state if you missed one.

Still need help?

Our team answers by ticket and email.