Event Log
An Event Log is a read-only system entry that acts as the source ledger for all loyalty occurrences on the Gamopanda platform. Each time a member's progress changes (e.g. they complete a streak, hit a milestone, fail a challenge, or trigger warning thresholds), the platform logs an Event Log entry. These logs form the foundation of outgoing Webhooks and Email Notifications.
Event Logs are strictly read-only (GET, LIST) audit records generated by the system. They cannot be created, modified, or deleted by administrators.
How it works
- State changes — a member logs activity or a period boundary lapses (e.g., a streak period ends), causing a state shift.
- Log entry generated — the system records an
Event Logentry containing the event category (eventCode) and the complete context data (payload). The status starts asnot_processed. - Trigger evaluation — the platform processes the log and looks for matching Webhooks or Email Notifications configured to run for that
eventCode. - Transition to processed — once the platform evaluates all rules and queues outgoing callbacks or emails, the log transitions to
processed.
Fields
Audit information
| Field | Type | Description |
|---|---|---|
eventCode | enum | The type of event that occurred. See Event Codes for the complete list. |
payload | object | Raw JSON payload containing contextual objects (e.g., Member, Streak, Challenge Progress) associated with the event. |
Status
| Field | Type | Default | Description |
|---|---|---|---|
logStatus | enum | not_processed | Processing status: not_processed · processed |
status | enum | live | Log visibility status: draft · live · paused |
Event codes
The eventCode defines the type of loyalty event that occurred:
streak_progress_brokenstreak_progress_to_be_brokenstreak_progress_completedstreak_progress_milestone_completedstreak_progress_non_milestone_completedstreak_progress_in_progresschallenge_progress_failedchallenge_progress_to_be_failedchallenge_progress_completedchallenge_progress_milestone_completedchallenge_progress_in_progress
Event Log payload
| Variable | Description | Example value |
|---|---|---|
| streakLog | Streak log object (When eventCode is one of streak_progress_completed, streak_progress_milestone_completed, streak_progress_non_milestone_completed, streak_progress_in_progress ) | Refer this Streak Log for object details |
| challengeLog | Challenge log object (When eventCode is one of challenge_progress_completed, challenge_progress_milestone_completed, challenge_progress_in_progress) | Refer this Challenge Log for object details |
| streakProgress | Streak progress object (When eventCode is one of streak_progress_broken, streak_progress_to_be_broken) | Refer below for the object structure |
| challengeProgress | Challenge progress object (When eventCode is one of challenge_progress_failed, challenge_progress_to_be_failed) | Refer below for the object structure |
$event_log.payload.streakProgress
Code
Refer this Streak Progress for object details
Refer this Streak for object details
Refer this Milestone for object details
$event_log.payload.challengeProgress
Code
Refer this Challenge Progress for object details
Refer this Challenge for object details
Refer this Milestone for object details
Real-world examples
🔍 Reading an Event Log Entry
An audit log showing a member completing their daily streak progress, ready to trigger email notifications or webhooks:
Code
Access & permissions
| Caller | Allowed operations | Notes |
|---|---|---|
| Admin | GET · LIST | Read-only ledger records |
| End user | (none) | No access |
| Guest user | (none) | No access |
Related resources
| Resource | Description |
|---|---|
| Webhook | Outgoing callbacks triggered by event codes |
| Email Notification | Outgoing email alerts triggered by event codes |
| Webhook Log | Delivery attempts log for callbacks initiated by these event logs |
| Email Notification Log | Delivery attempts log for emails initiated by these event logs |
API reference
See the API Reference for full request/response schemas and interactive examples for:
GET /schema/event_log/record— list event logsGET /schema/event_log/record/{id}— get an event log by ID