{
    "ok": true,
    "payload": {
        "version": "4.2.1-social-hub-dashboard-upgrade",
        "generated_at": "2026-07-05T14:49:39+00:00",
        "notification_preferences": {
            "categories": {
                "marketplace": {
                    "label": "Marketplace notifications",
                    "description": "Sales, offers, watched cards, price drops and marketplace warnings.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 1,
                            "user_id": 904,
                            "category": "marketplace",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 2,
                            "user_id": 904,
                            "category": "marketplace",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 3,
                            "user_id": 904,
                            "category": "marketplace",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "guild": {
                    "label": "Guild notifications",
                    "description": "Guild chat, announcements, treasury goals, wars and league updates.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 4,
                            "user_id": 904,
                            "category": "guild",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 5,
                            "user_id": 904,
                            "category": "guild",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 6,
                            "user_id": 904,
                            "category": "guild",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "match": {
                    "label": "Match notifications",
                    "description": "Match results, replay ready, stamina updates and ranked changes.",
                    "channels": {
                        "0": "in_app",
                        "1": "push",
                        "in_app": {
                            "id": 7,
                            "user_id": 904,
                            "category": "match",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 8,
                            "user_id": 904,
                            "category": "match",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "live_ops": {
                    "label": "Live Ops reminders",
                    "description": "Daily/weekly tasks, event ending soon, calendar rewards and reward claims.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 9,
                            "user_id": 904,
                            "category": "live_ops",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 10,
                            "user_id": 904,
                            "category": "live_ops",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 11,
                            "user_id": 904,
                            "category": "live_ops",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "auction": {
                    "label": "Auction alerts",
                    "description": "Outbid, won, lost, buyout, settlement and ending-soon alerts.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 12,
                            "user_id": 904,
                            "category": "auction",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 13,
                            "user_id": 904,
                            "category": "auction",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 14,
                            "user_id": 904,
                            "category": "auction",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "trade": {
                    "label": "Trade alerts",
                    "description": "Trade received, accepted, rejected, expired and escrow messages.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 15,
                            "user_id": 904,
                            "category": "trade",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 16,
                            "user_id": 904,
                            "category": "trade",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 17,
                            "user_id": 904,
                            "category": "trade",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "rental_loan": {
                    "label": "Rental / loan alerts",
                    "description": "Rental created, card loaned, overdue returns and auto-return notices.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "2": "push",
                        "in_app": {
                            "id": 18,
                            "user_id": 904,
                            "category": "rental_loan",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 19,
                            "user_id": 904,
                            "category": "rental_loan",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "push": {
                            "id": 20,
                            "user_id": 904,
                            "category": "rental_loan",
                            "channel": "push",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 1,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                },
                "system": {
                    "label": "System notices",
                    "description": "Security, maintenance, account and support notices.",
                    "channels": {
                        "0": "in_app",
                        "1": "email",
                        "in_app": {
                            "id": 21,
                            "user_id": 904,
                            "category": "system",
                            "channel": "in_app",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 0,
                            "push_enabled": 0,
                            "in_app_enabled": 1,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        },
                        "email": {
                            "id": 22,
                            "user_id": 904,
                            "category": "system",
                            "channel": "email",
                            "is_enabled": 1,
                            "delivery_mode": "immediate",
                            "quiet_start": "22:00:00",
                            "quiet_end": "07:00:00",
                            "frequency_limit_count": 8,
                            "frequency_limit_window_minutes": 240,
                            "email_enabled": 1,
                            "push_enabled": 0,
                            "in_app_enabled": 0,
                            "created_at": "2026-07-02 20:22:44",
                            "updated_at": "2026-07-02 20:22:44"
                        }
                    }
                }
            },
            "channel_profiles": {
                "in_app": {
                    "label": "In-app",
                    "description": "Inbox, bell badge and activity prompts inside the game."
                },
                "email": {
                    "label": "Email",
                    "description": "Send selected important messages by email."
                },
                "push": {
                    "label": "Push",
                    "description": "Mobile push contract for Unity/native clients."
                }
            },
            "quiet_hours": {
                "active": true,
                "starts": [
                    "22:00:00"
                ],
                "ends": [
                    "07:00:00"
                ],
                "timezone": "Australia/Brisbane"
            },
            "frequency_limits": [
                {
                    "category": "marketplace",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "marketplace",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "marketplace",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "guild",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "guild",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "guild",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "match",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "match",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "live_ops",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "live_ops",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "live_ops",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "auction",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "auction",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "auction",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "trade",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "trade",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "trade",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "rental_loan",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "rental_loan",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "rental_loan",
                    "channel": "push",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "system",
                    "channel": "email",
                    "count": 8,
                    "window_minutes": 240
                },
                {
                    "category": "system",
                    "channel": "in_app",
                    "count": 8,
                    "window_minutes": 240
                }
            ],
            "digest_options": [
                "immediate",
                "hourly_digest",
                "daily_digest",
                "off"
            ],
            "advanced_controls": [
                "category channels",
                "quiet hours",
                "frequency window",
                "email/push/in-app delivery",
                "digest mode",
                "snooze per category"
            ]
        },
        "social_feed": {
            "scope": "global",
            "items": [
                {
                    "id": 1,
                    "source_type": "legacy_social_post",
                    "title": "Social Post",
                    "body": "I just pulled the most useless pack",
                    "scope": "public",
                    "display_name": "aussiewarrior",
                    "created_at": "2026-06-27 03:47:15",
                    "reactions": {
                        "total": 0
                    },
                    "comments": []
                }
            ],
            "tabs": [
                {
                    "key": "global",
                    "label": "Global"
                },
                {
                    "key": "friends",
                    "label": "Friends"
                },
                {
                    "key": "guild",
                    "label": "Guild"
                },
                {
                    "key": "mine",
                    "label": "Mine"
                }
            ],
            "composer": {
                "enabled": true,
                "max_length": 2000,
                "scopes": [
                    "global",
                    "friends",
                    "guild"
                ]
            },
            "interaction_contract": [
                "like",
                "react",
                "comment",
                "hide",
                "report"
            ]
        },
        "content": {
            "homepage_banners": [
                {
                    "content_type": "homepage_banner",
                    "placement": "home",
                    "title": "CMS Manager Ready",
                    "excerpt": "Run Phase 25 maintenance to seed editable content.",
                    "body": "Admin CMS content is ready once migration 037 has been applied.",
                    "cta_label": "Admin CMS",
                    "cta_url": "admin/phase25-engagement",
                    "status": "fallback"
                }
            ],
            "announcements": [
                {
                    "content_type": "announcement",
                    "placement": "global",
                    "title": "CMS Manager Ready",
                    "excerpt": "Run Phase 25 maintenance to seed editable content.",
                    "body": "Admin CMS content is ready once migration 037 has been applied.",
                    "cta_label": "Admin CMS",
                    "cta_url": "admin/phase25-engagement",
                    "status": "fallback"
                }
            ],
            "event_banners": [
                {
                    "content_type": "event_banner",
                    "placement": "live_ops",
                    "title": "CMS Manager Ready",
                    "excerpt": "Run Phase 25 maintenance to seed editable content.",
                    "body": "Admin CMS content is ready once migration 037 has been applied.",
                    "cta_label": "Admin CMS",
                    "cta_url": "admin/phase25-engagement",
                    "status": "fallback"
                }
            ],
            "shop_banners": [
                {
                    "content_type": "shop_banner",
                    "placement": "shop",
                    "title": "CMS Manager Ready",
                    "excerpt": "Run Phase 25 maintenance to seed editable content.",
                    "body": "Admin CMS content is ready once migration 037 has been applied.",
                    "cta_label": "Admin CMS",
                    "cta_url": "admin/phase25-engagement",
                    "status": "fallback"
                }
            ],
            "help_articles": [
                {
                    "content_type": "help_article",
                    "placement": "help",
                    "title": "CMS Manager Ready",
                    "excerpt": "Run Phase 25 maintenance to seed editable content.",
                    "body": "Admin CMS content is ready once migration 037 has been applied.",
                    "cta_label": "Admin CMS",
                    "cta_url": "admin/phase25-engagement",
                    "status": "fallback"
                }
            ]
        },
        "qa": {
            "version": "4.2.1-social-hub-dashboard-upgrade",
            "status": "green",
            "score": 100,
            "checks": [
                {
                    "key": "notification_preferences_table",
                    "label": "User notification preference table exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "notification_audit_table",
                    "label": "Notification preference audit table exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "social_feed_table",
                    "label": "Advanced social feed table exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "social_interactions",
                    "label": "Social reactions and comments tables exist",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "social_safety",
                    "label": "Social report/hide controls exist",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "cms_content_table",
                    "label": "Admin CMS content table exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "cms_revision_table",
                    "label": "CMS revision table exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "phase25_service",
                    "label": "Phase 25 engagement/content service exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "phase25_api_controller",
                    "label": "Phase 25 API controller exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "phase25_admin_view",
                    "label": "Phase 25 admin view exists",
                    "status": "green",
                    "message": "Ready"
                },
                {
                    "key": "phase25_css",
                    "label": "Phase 25 CSS loaded",
                    "status": "green",
                    "message": "Ready"
                }
            ],
            "advanced_scope": [
                "notification preference centre",
                "quiet hours",
                "frequency limits",
                "social activity feed",
                "post/reaction/comment/report/hide",
                "admin CMS manager",
                "banner/promo/help content",
                "content revisions",
                "mobile/API payloads"
            ],
            "counts": {
                "preferences": 22,
                "feed_items": 0,
                "cms_content": 0,
                "open_reports": 0
            }
        }
    }
}