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

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.