Emily Lane
August 27, 2024
Courier's POST /profiles/:user_id (profiles.create()) endpoint would accept an empty profile object, return a {SUCCESS: true} but not create the profile. Other endpoints and methods (like .identify() would allow for creating a profile with an empty object. This endpoint was updated to mimic the other endpoints and allow an empty profile to create a user.
Learn more: How to Manage User Profiles

Preference webhooks and change history API
Get every preference change as a webhook, and read the full history by API.
By Emily Lane
October 14, 2026

Cross-Device Email Preview
Preview email templates on real devices, 96 clients across 21 apps, right from Design Studio.
By Emily Lane
September 01, 2026

Redesigned Settings Page
Settings is redesigned, with workspace and developer pages in separate sections and nine background colors.
By Emily Lane
August 18, 2026