SDK quickstart
Emit events when customers accept terms, log in, use the product, download files, contact support, or request refunds. EvidenceDesk stores an immutable ledger and maps claims to those events when a dispute arrives.
Event types
- terms_accepted
- login
- subscription_started
- subscription_used
- usage_recorded
- downloaded
- support_contacted
- refund_requested
- refund_issued
- cancellation_requested
- cancellation_confirmed
cURL
curl -X POST https://evidencedeskai.com/api/v1/events \
-H "Authorization: Bearer ed_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_type": "terms_accepted",
"customer_email": "buyer@example.com",
"charge_id": "ch_...",
"payload": {
"terms_version": "2026-01",
"ip": "203.0.113.10",
"terms_url": "https://yoursite.com/terms"
},
"idempotency_key": "terms_buyer_2026-01"
}'Node / Next.js
await fetch('/api/v1/events', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.EVIDENCEDESK_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
event_type: 'downloaded',
customer_email: user.email,
payment_intent_id: paymentIntentId,
payload: { download_name: 'export.zip' },
}),
});Browser helper
Include /sdk/evidencedesk.js and call EvidenceDesk.track(event). Prefer server-side emission so API keys stay private.