GetConversationsV3
Get a cursor-paginated collection of LinkedIn conversations. Up to 100 items per request.
Successor to GetConversationsV2. Two differences matter:
-
Paging is cursor-based, not offset-based. There is no
offset- pass thenextCursorfrom the previous response ascursorto fetch the next page. This removes the deep-paging limit that GetConversationsV2 runs into on large inboxes. -
correspondentProfileno longer carries email or custom fields. TheemailAddress,enrichedEmailAddress,customEmailAddressandcustomFieldskeys are not returned by this endpoint. The three email keys were already alwaysnullon GetConversationsV2. Use/api/public/lead/GetLeadwhen you need them.
Body Parameters
-
limit (int, optional): Page size, 1-100. Defaults to
10. -
cursor (string, optional): Opaque cursor taken from a previous response’s
nextCursor. Omit or sendnullfor 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. Afromlater thantois rejected with 400From 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):
truefor read conversations,falsefor unread,nullfor both.
-
Paging
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.
Response fields
-
items (array): The conversations for this page.
-
totalCount (long): Total matching conversations across all pages.
-
nextCursor (string): Cursor for the next page,
nullwhen there are no more pages. -
hasNextPage (bool)
items[].campaignId is omitted entirely when the conversation is not tied to a campaign.
Errors
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>
Headers
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
