Guide
This walkthrough takes you from zero to a rendered signature URL embedded in an email client in roughly five minutes. We’ll do everything from a terminal so the steps are copy-paste-runnable.
1. Sign up + get your org ID
Open app.esigkit.com and create an account. After verification you’ll land on the dashboard. Note your org ID from the URL or from Settings → Organization — you’ll need it everywhere.
export ESIGKIT_ORG_ID="00000000-0000-4000-8000-000000000001"
2. Mint an API key
Two ways. Pick one:
From the dashboard (easiest): Settings → API Keys → Create key. Copy the plaintext value the dashboard shows you — it’s displayed exactly once.
From the API (if you’ve already got a JWT):
curl -X POST "https://api.esigkit.com/v1/orgs/$ESIGKIT_ORG_ID/api-keys" \
-H "Authorization: Bearer $ESIGKIT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "quickstart" }'
The response includes a plaintext field. Stash it:
export ESIGKIT_TOKEN="esk_test_REPLACEME" # paste the real value here
3. Render your first signature
curl -X POST "https://api.esigkit.com/v1/orgs/$ESIGKIT_ORG_ID/render" \
-H "Authorization: Bearer $ESIGKIT_TOKEN"
This kicks off an org-wide render via Step Functions. For a faster single-user render:
export ESIGKIT_USER_ID="00000000-0000-4000-8000-000000000002"
curl -X POST "https://api.esigkit.com/v1/orgs/$ESIGKIT_ORG_ID/render/$ESIGKIT_USER_ID" \
-H "Authorization: Bearer $ESIGKIT_TOKEN"
The response includes the new signature URL:
{
"userId": "00000000-0000-4000-8000-000000000002",
"signatureVersion": 1,
"url": "https://cdn.esigkit.com/signatures/.../1.html",
"bytes": 4892
}
4. Embed the signature
The shortest stable URL is the public redirect endpoint — it 301s to the versioned CDN URL, so cache invalidation is automatic when you re-render.
<img src="https://api.esigkit.com/v1/users/00000000-0000-4000-8000-000000000002/signature" />
Or paste the versioned URL directly into your email-client signature settings.
What’s next
- Authentication — full breakdown of JWT vs API key, the two app clients, MFA enforcement.
- Templates — design your own Handlebars templates and assign them per-user or per-department.
- Webhooks — wire up Stripe-event handling.
- API reference — every endpoint with code samples in 8 languages.