Changelog
Public API changes. Reverse-chronological. Breaking changes flagged.
This page tracks visible API changes — new endpoints, response shape tweaks, error-code additions, deprecations. Internal refactors and UI changes don't make it here.
2026-04-30 — v1 launch
The v1 public API launches with the full reference live.
New endpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/signing-requests | Create — multipart upload, four placement modes |
| GET | /v1/signing-requests/{id} | Read one signer + last 50 audit events |
| POST | /v1/signing-requests/{id}/remind | Re-send invite |
| POST | /v1/signing-requests/{id}/withdraw | Cancel in-flight |
| GET | /v1/documents/{id} | Holistic doc + signers + rollup status |
| GET | /v1/documents/{id}/signed | Final PAdES-sealed PDF |
| GET | /v1/documents/{id}/audit-trail | Generated audit-trail PDF |
Concepts
Idempotency-Keyheader with a Stripe-style pending lock for concurrent retries — see Idempotency.- 60 req/min/key rate limiter with
Retry-After— see Rate limits. - Workspace-scoped Bearer keys; rotation via mint-then-revoke.
- Multipart placement modes: anchors / auto_append / explicit / manual — see Placement modes. Manual mode collapses the previous "magic-link" mode into a single URL that works with or without a workspace login.
- Doc-scoped callback webhooks via
callback_urlon POST. HMAC-SHA256 signed events, 7-attempt exponential-backoff retries.
Subdomain branding
Branded + Teams tier workspaces get <slug>.letssign.now/sign/... for
signer-facing pages. Wildcard cert provisions automatically; no DNS
work per-customer.
Migration from /docs/api
If you bookmarked the old monolithic
https://letssign.now/docs/api page: it now permanently redirects
to /docs. The content has been split into the reference pages
listed in the sidebar.
If you used a deep section anchor like /docs/api#errors, it
redirects to /docs (apex). Direct links to specific topics are now
e.g. /docs/errors, /docs/webhooks.
Versioning policy
Breaking changes ship under a new path version (/v2/*). The
existing /v1/* surface stays operational for at least 12 months
after /v2 GA. Non-breaking additions (new optional fields, new
events, additive enum values) ship to /v1 with a changelog entry.
