Badges go out by email the moment they are issued, so a duplicate is visible to the recipient — the idempotency key is what stops a retried call from sending twice. Templates, issuing and verification all sit behind one credential, so scope it to the tenant you mean before connecting it.
A TypeScript server over the IssueBadge API for digital badges and certificates: templates, issuing to recipients, and verification.
- Create badge templates, issue them to recipients, and verify a badge's authenticity
- Automatic email delivery to the recipient, carrying a verification URL
- Custom fields and flexible metadata on a badge
- Idempotency protection, so a retried call does not issue a duplicate
- Multi-tenant isolation
- Two authentication paths: Laravel Sanctum or OAuth2
Node 18 or newer, npm 8 or newer, and an IssueBadge account. Configuration goes in .env: the API base URL and an IssueBadge API key for the Sanctum path, or the OAuth endpoint and an OAuth token with the auth method switched to oauth2. Request timeout, retry count and retry delay are set in the same file.
