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.
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'],});
- recipient.viewedapplicant13:05:42200Signature verified
- recipient.signedapplicant13:11:09200Signature verified
- recipient.viewedco-applicant13:18:55200Signature verified
- recipient.signedco-applicant13:20:31200Signature verified
- 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.
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.
Send your first agreement from your own code.
It’s free to use, and you can sign up online, for yourself or your team.
Ask your AI
Ask ChatGPT (opens in a new tab)Ask Perplexity (opens in a new tab)
Want your assistant to work with your agreements? Connect our MCP