Fetch paginated messages for a single conversation thread
since with the timestamp of the
latest message you already have.before with the
timestamp of the oldest message currently displayed.{phone_number}_{campaign_id})timestamp strictly
greater than this value. Use this for polling.timestamp strictly
less than this value. Use this to load older messages when paginating
backward through a long conversation.since and before are mutually exclusive. If both are provided, since
takes precedence and before is ignored.true when the request succeededtrue when count equals limit — there may be additional older messages.
Paginate by calling again with before set to the timestamp of the
oldest message returned. false when fewer than limit rows were
returned (end of thread).since)thread_id exactly matches
the path parameter are returned. Much faster than the campaign-wide
messages endpoint for UI rendering of
a single conversation.before, each page is also newest-first within that
page.has_more semantics — has_more is true whenever count == limit.
It is a hint, not a guarantee: the next page may return zero rows if the
thread ended exactly at the page boundary.agent,
drip, broadcast), human operator sends (human), and inbound
messages from the contact (contact). Use this to style outbound vs
inbound bubbles in a UI.sent_by_user_id — only present on human sends. Use it to
attribute outbound messages to the specific operator who sent them.