Complete contact and conversation pagination
Released: October 1, 2026
Reliable bulk-list traversal Fixed
Section titled “Reliable bulk-list traversal ”GET /v1/{phone_number_id}/contacts and
GET /v1/{phone_number_id}/conversations now preserve full timestamp
precision inside their opaque cursors.
Previously, a large import or history sync could create many rows within the
same millisecond. A cursor at that boundary could skip some of those rows even
though they remained retrievable through an exact filter. Iterating until
has_more is false now returns every matching row without that gap.
No client changes are required. Continue passing each next_cursor value back
verbatim and do not parse or modify it.