GetConversationsV3
Headers
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
Successor to GetConversationsV2. Two differences matter:
Paging is cursor-based, not offset-based. There is no offset - pass the nextCursor from the previous response as cursor to fetch the next page. This removes the deep-paging limit that GetConversationsV2 runs into on large inboxes.
correspondentProfile no longer carries email or custom fields. The emailAddress, enrichedEmailAddress, customEmailAddress and customFields keys are not returned by this endpoint. The three email keys were already always null on GetConversationsV2. Use /api/public/lead/GetLead when you need them.
limit (int, optional): Page size, 1-100. Defaults to 10.
cursor (string, optional): Opaque cursor taken from a previous response’s nextCursor. Omit or send null for the first page.
from (datetime, optional): Lower bound on lastMessageAt, UTC. Omit for no lower bound.
to (datetime, optional): Upper bound on lastMessageAt, UTC. Defaults to the current UTC time when omitted. A from later than to is rejected with 400 From must not be later than To.
filters (object, optional)
linkedInAccountIds (int[]): The ids of the LinkedIn senders.
campaignIds (long[])
searchString (string, optional)
leadLinkedInId (string, optional): The LinkedIn ID of the lead. You can find this ID as “linkedin_id” in the response of many of our endpoints, for example in the ‘/api/public/lead/GetLead’ endpoint. Cannot be combined with leadProfileUrl.
leadProfileUrl (string, optional): The LinkedIn URL of the lead. Cannot be combined with leadLinkedInId.
tags (string[]): Case-insensitive list of lead tags. Only the conversations of leads that have at least one of the tags are returned. Every tag must already exist.
latestAutoTagNames (string[]): Filter by the lead’s most recent auto tag.
seen (bool, optional): true for read conversations, false for unread, null for both.
Conversations are sorted by lastMessageAt descending, then linkedInAccountId ascending. Keep calling the endpoint with the returned nextCursor for as long as hasNextPage is true; nextCursor is null on the last page. totalCount is the total number of matching conversations, not the size of the current page. Treat the cursor as opaque - do not build or edit it yourself, an unparseable value returns 400 Invalid cursor format.
items (array): The conversations for this page.
totalCount (long): Total matching conversations across all pages.
nextCursor (string): Cursor for the next page, null when there are no more pages.
hasNextPage (bool)
items[].campaignId is omitted entirely when the conversation is not tied to a campaign.
All of the following return 400 with body { "errorMessage": "..." }:
Invalid cursor format.
Only one of LeadId or LeadProfileUrl parameters can be used at a time.
'<url>' is invalid profile url.
Lead with profile url: '<url>' does not exist
Invalid LinkedIn Account Id is provided in the LinkedInAccountIds property
The campaign you are trying to open does not exist.
Cannot filter with Tags because the following tags do not exist: <names>
Auto tag name is not supported, AutoTagName: <name>