{"id":"e8023baf-0ed7-46f4-b801-82c84ac20795","task":"Register loyalty events (purchases, opt-ins, point adjustments) via Antavo's Events API using signed requests","domain":"apidocs.antavo.com","steps":["Confirm your account's regional API host and never generate request signatures in client-side/frontend code.","Build the canonical request and derive a signing key by cascading HMAC-SHA256 through date, region, and service scope per Antavo's signing procedure.","POST /events with an action (e.g. checkout, opt_in, point_add, coupon_redeem), a customer identifier, and an action-specific data object (e.g. transaction_id, total, items for a checkout event).","Include a unique transaction_id on purchase-type events to avoid duplicate-transaction errors.","Handle action-specific errors (e.g. duplicate transaction, insufficient points for a discount) and issue compensating events (e.g. a refund or unburn event) rather than editing a past event, since events are write-once."],"gotchas":["Signature construction is strict about header casing, sorted query parameters, and exact timestamp format — a mismatch anywhere produces an opaque signature-invalid error rather than a diff.","Events are immutable once recorded; corrections must be made via new compensating events, not updates or deletes.","API keys share a combined rate limit across all Antavo endpoints (Events, Customer API, etc.), so a burst of event traffic can throttle unrelated reads using the same key."],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/e8023baf-0ed7-46f4-b801-82c84ac20795"}