← Back to What's New

Conversation beats in the API

Feature

Week of September 26, 2026

Conversations now carry beats — the system-recorded moments the admin timeline shows between messages, like a signed waiver, a blocked prospect, or an SMS opt-out.

  • relationships.timeline lists every message and beat in a conversation, oldest first, in the same order the admin portal shows them — walk it to render a transcript instead of stitching messages and beats back together yourself. relationships.messages is unchanged.
  • Beats ride in the same top-level included array as messages, with a kind, a human-readable summary, and created_at. summary is never gated by a :pii permission, same as message content.
  • A beat whose subject has its own endpoint — a signed waiver, an SMS opt-in/opt-out — carries a relationships.subject link to it. Following it needs the matching permission (waivers, prospects, or advocates).
  • Conversations report a new beats_count attribute, and recording a beat now moves the conversation’s updated_at, so filter[updated_since] picks it up on your next sync.

Related: Conversations API



© 2024-2026 Stoked — Real conversations. Real trust.