Skip to content

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.