For developers

Send agreements from your code and know when they’re signed.

One request creates the agreement from a template, and a second sends it. Webhooks tell your system when each person views and signs, and when the sealed PDF is ready. Maple eSign is Canadian-owned and hosted in Canada. It’s free to use, and you can sign up online, for yourself or your team.

Webhooks

Webhooks tell your system when each person signs.

Register an endpoint and choose its events. Each delivery is signed with HMAC-SHA256 in the x-stalwart-signature header, so you can check it came from us. A failed delivery is tried up to 7 times over about a day and a half. Use its deliveryId to skip one you’ve already handled.

send.ts
const post = (path, body) =>  fetch(MAPLE + path, {    method: 'POST', headers,    body: JSON.stringify(body),  }).then((res) => res.json()); const doc = await post(`/v1/templates/${templateId}/use`, {  externalId: 'crm-agreement-4417',  recipients: { applicant, 'co-applicant': coApplicant },});await post(`/v1/documents/${doc.id}/send`, {}); await post('/v1/webhooks', {  url: 'https://crm.example.ca/hooks/maple',  events: ['recipient.signed', 'document.completed'],});
Deliveries5 / 5
  1. recipient.viewedapplicant13:05:42200Signature verified
  2. recipient.signedapplicant13:11:09200Signature verified
  3. recipient.viewedco-applicant13:18:55200Signature verified
  4. recipient.signedco-applicant13:20:31200Signature verified
  5. document.completedcontentSha256 9f2c4a1e7b3d…13:20:34200Signature verified

What you get

What’s included and what isn’t available yet.

Everything here comes with the free account. The second list is what Maple eSign doesn’t do yet, so you can plan around it.

In the box

  • REST API Bearer tokens: ssk_live_ for real agreements, ssk_test_ for test data kept apart.
  • Embedding The signing screen, the send desk and the template editor can run inside your own app, on origins you register.
  • Signed webhooks HMAC-SHA256, a 5-minute tolerance, up to 7 attempts, then a manual redrive.
  • Safe retries Send an Idempotency-Key when you create, and a repeat returns the same agreement.
  • OAuth apps Register an app that acts for people on your team, with the scopes you set and their consent.
  • MCP server An AI agent can find agreements and prepare drafts. A person sends them.
Use Maple eSign in your AI app (MCP)

Not there yet

  • A resettable sandbox is not offered yet. Test keys keep test data apart today.
  • Text messages are not offered yet. Maple eSign sends email only.
  • Google and Microsoft connectors are not offered yet. Use the API or webhooks instead.
  • Trusted (RFC 3161) timestamps are not offered yet. Each event has the server’s time in the hash-chained audit trail.

Who owns it and where it runs

Canadian company, Canadian hosting.

A company can host in Canada without being Canadian. Maple eSign is both.

  • The companyCanadian-ownedOperated by Scrawlr Development Inc., Vancouver, British Columbia, as the Privacy Policy states.
  • The hostingHosted in CanadaThe application, its database, document storage and backups run in Google Cloud’s Montreal region.
How Maple eSign handles trust

Send your first agreement from your own code.

It’s free to use, and you can sign up online, for yourself or your team.