Skip to main content

Overview

Access user notification preference data and audit trails to understand subscription settings, channel preferences, and preference change history. Courier provides both dashboard audit logs and API access to user preference information, enabling you to track user consent changes and integrate preference data with your systems. The dashboard provides a complete audit trail of preference changes over time, while the API returns current user preference state across all configured subscription topics and delivery channels.

Key Features

Courier’s user preference system provides comprehensive access to user settings and change history:
  • Dashboard Audit Trail - Complete history of user preference changes with timestamps
  • Real-Time API Data - Query current preference state without caching delays
  • Complete Topic Coverage - Access all configured subscription topics and their status
  • Channel Preferences - View custom routing settings for Enterprise customers
  • Section Organization - Preferences grouped by configured sections

Accessing User Preferences

Dashboard Interface

View user preferences and audit trail through Courier’s web interface:
  1. Navigate to the Users section in your Courier workspace
  2. Search for and select the user whose preferences you want to review
  3. View their current notification preferences and subscription status
  4. Access the preference change audit trail in the user’s profile
User Preference Logs Dashboard

User Preference Logs Dashboard

The dashboard provides a complete audit trail of user preference changes, showing when users opted in or out of subscription topics and modified their notification settings.

API Access

Query user preferences programmatically using the User Preferences API:
curl https://api.courier.com/user-preferences/SUBSCRIPTION_TOPIC_ID/USER_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Data Structure

The API returns current user preference data with the following structure:
{
  "paging": {
    "more": false
  },
  "items": [
    {
      "custom_routing": ["inbox", "email", "sms"],
      "has_custom_routing": true,
      "default_status": "OPTED_IN",
      "status": "OPTED_IN",
      "section_name": "Notifications",
      "section_id": "pHdYzLqMu12XNxih5EoDJ",
      "topic_id": "D9BX66Y1EM4N6QQ1E1D9VVFFQB0N",
      "topic_name": "Critical Messages"
    }
  ]
}

Field Descriptions

  • status - Current user preference (OPTED_IN or OPTED_OUT)
  • default_status - Default subscription setting for new users
  • topic_id - Unique identifier for the subscription topic
  • topic_name - Human-readable topic name
  • section_id - Parent section identifier
  • section_name - Section grouping name
  • custom_routing - Array of preferred delivery channels (Enterprise feature)
  • has_custom_routing - Boolean indicating if user has channel preferences set
API vs Dashboard: The User Preferences API provides current preference settings only. For historical change tracking and compliance auditing, use the audit trail feature in the Courier dashboard or implement logging in your application.

Next Steps