For the complete site index, see llms.txt. Docs index: llms-docs.txt. Marketing corpus: llms-full.txt. Docs corpus: llms-full-docs.txt. Prefer markdown URLs where available (append .md).. Product skill: skill.md. Pricing: pricing.md. Docs MCP: /docs/mcp. Site MCP: /mcp.

CHANGELOG/20 APRIL 2026

Contacts, topics & API platform

Contacts
Topics
API Keys
Docs
Onboarding
Groups
Command Menu

Contacts, groups, topics, and API keys as first-class primitives with expanded OpenAPI coverage and public documentation.

PLANNING

  • Contacts platform. Contacts, groups, properties, and topics as first-class CRM primitives with full OpenAPI coverage. Designed transactional property updates with replacement mode and type validation.
  • Public preferences. Token-based subscription management for end-user preference centers with opt_in/opt_out enrollment semantics.
  • Contact API standardization. Removed v1 prefix from endpoints, standardized contact identification by email for topic and group management, moved IDs from request bodies to path parameters.

DESIGN

  • Onboarding flow. Step cards with connectors, NumberFlow step indicator, animated breadcrumbs, package-manager tabs for SDK install with Shiki highlighting.
  • Contact & group modals. Discovery pane + selection basket for groups/topics, infinite scroll multi-select, delete-group stats, keyboard shortcuts (⌘+Enter for submit, Esc for cancel).
  • Marketing header. Sticky glass-morphism header, mega menu with framer-motion animations, dark default theme, and documentation links.
  • Flat design overhaul. Updated design tokens and UI components for cleaner flat aesthetic with dark mode support. Simplified sidebar layout, removed unnecessary framer-motion animations from template grid.

FRONTEND

  • Contacts dashboard. Collapsible contacts sub-nav, property modals with motion animations, suppression banner, breadcrumb page headers, summary statistics cards (total, subscribed, unsubscribed) with icons.
  • Contact groups. Full CRUD for groups with dashboard pages, create group modal with icon header, group table with row navigation, and group contact listing.
  • Topics & channels. Topic CRUD, enrollments with opt_in/opt_out semantics, public/private visibility, card-based channel list, subscriber preview, tabbed navigation integration.
  • API keys. Shiki-highlighted keys, optimistic toggles, documentation drawer with TabMenuHorizontal and CodeBlock, table columns for prefix and last used, a hotkey for API details.
  • Command menu. Recent items, ⌘1–9 keyboard navigation, categorized action groups for quick access.
  • Documentation site. AI-powered search and chat for docs, OG image generation, integration guides, automated OpenAPI reference, APIPage endpoint docs, mega menu links, fumadocs integration.
  • Docs site redesign. Revamped landing page with quick start cards, updated title/description, ToC navigation with motion indicators, smooth scrolling, persistent sidebar folder expansion, scroll position restore via sessionStorage.
  • URL-managed modals. Centralized contact-related modal management using URL query parameters and dedicated ContactsModals component, removing local modal state from tables.

BACKEND

  • Contacts API. Full CRUD for contacts, groups, properties, topics. Bulk contact creation, transactional property updates with replacement mode (soft-delete unprovided, restore existing). Remove-from-group by id or email, graceful topic deletion.
  • Contact properties. Dynamic key-value properties for contacts with name validation, number type support, type enforcement. Injected logger into property controllers with OpenAPI 200 response examples.
  • API keys service. Cookie + API key auth macros, trace IDs and child loggers, OpenAPI security scheme documentation, list/detail endpoints with creator details.
  • API key hardening. Node.js API Key service with SDK-based code samples, 201 status for created keys, rate limiting middleware, atomic database operations, session caching, and owner-only key rotation.
  • API key event bus. NATS event logging for all CRUD operations (create, delete, enable, disable, rotate). Published API key creation event with subscriber to fetch user details from database.
  • Domain enhancements. Nameserver lookup, sending/receiving toggles, custom return path, tracking domain support in schema, OpenAPI code samples.
  • Logs service overhaul. ClickHouse schema validation, date formatting utilities, centralized logging for resource creation events. Structured request details in metadata, daily log retention cleanup cron, truncateLogs utility.
  • Backend standardization. Modular service loaders, custom error library (ApiKeyErrors) replacing manual status throws, standardized auth middleware with organizationId, health and agent-card routes.

DEVOPS

  • Logs service infrastructure. Tracehub renamed to logs; ClickHouse auto-provisioning in docker-compose; Redis-backed auth for log API; LOGS_API_KEY propagated across services.
  • Documentation infrastructure. Updated docs theme with custom color tokens, table component dark mode support, @reloop/tailwind integration, breadcrumb home icon, page actions with loading states and raw content support.
  • Backend README standardization. Consistent README structure with resource links and documentation references across all backend services (api-key, contacts, domain, inbox, etc.).
  • API key CI. GitHub Actions workflow for building and publishing the API key service Docker image.
Reloop