Changelog
All notable changes to the EsperWorks API. Breaking changes are marked breaking and announced in advance to affected API key owners.
v1.5
2026-08-04- newPOST /v1/quick-charge, collect a payment in a single API call (invoices:write scope)
- fixWebhook payloads now carry a stable idempotency_key across retries — use it to deduplicate deliveries
- fixWebhook retry backoff: 10s → 30s → 90s → 4.5m → 13.5m, up to 5 attempts
v1.4
2026-05-30- newDELETE /v1/clients/:id, delete a client (clients:write scope)
- newDELETE /v1/invoices/:id, delete a draft invoice (invoices:write scope)
- newWebhook event: invoice.created
- fixWebhook signature header is sha256=<hex> (prefixed), update your verification code if you were comparing raw hex
- fixContracts are read-only through the API — creation and signing is managed through the dashboard
- fixCorrected payment status endpoint path to /invoices/:id/payment-status
v1.3
2026-05-01- newPOST /v1/invoices/:id/initiate-payment, get payment URL via API
- newPOST /v1/invoices/:id/simulate-payment, test mode payment simulation with webhook firing
- newWebhook retries: up to 5 attempts with 10s/30s/90s/4.5m/13.5m exponential backoff
- newEmbeddable widgets: /embed/invoice/:token and /embed/contract/:token
- newTest mode: ew_test_ keys skip email delivery
- fixWebhook dispatch is now asynchronous, no longer blocks HTTP responses
v1.2
2026-04-29- newPATCH /v1/clients/:id, update client details
- newPATCH /v1/invoices/:id, update draft invoice notes and due date
- newPATCH /v1/expenses/:id, update an expense
- newDELETE /v1/expenses/:id, delete an expense
v1.1
2026-04-16- newWebhook delivery logs available in the dashboard
v1.0
2026-04-07- newInitial Partner API release
- newClients, Invoices, Contracts, Payments, Expenses endpoints
- newScoped API keys with bcrypt hashing
- newWebhook delivery with HMAC-SHA256 signatures
- newinvoice.paid, invoice.sent, invoice.viewed, payment.received, contract.signed events