List conversations
curl --request GET \
--url https://api.goextrovert.com/client/v2/dm-conversations \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.goextrovert.com/client/v2/dm-conversations"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.goextrovert.com/client/v2/dm-conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goextrovert.com/client/v2/dm-conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goextrovert.com/client/v2/dm-conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goextrovert.com/client/v2/dm-conversations")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/dm-conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"conversations": [
{
"connectionId": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"ownerId": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"prospect": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"linkedInUrl": "<string>",
"headline": "<string>",
"avatarUrl": "<string>"
},
"context": {
"campaign": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"name": "<string>"
},
"prospectList": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"name": "<string>"
}
},
"connectedAt": "2025-06-30T14:02:07.456Z",
"lastMessage": {
"text": "<string>",
"author": "Owner",
"sentAt": "2025-06-30T14:02:07.456Z"
},
"unreadCount": 4503599627370495,
"state": "No draft",
"allowedActions": [
"prepare-reply"
]
}
],
"pagination": {
"limit": 4503599627370495,
"offset": 4503599627370495,
"total": 4503599627370495
}
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Direct Messages
List conversations
Lists an owner’s LinkedIn conversations in the required unread or all view. It returns preview, unread count, active workflow state, and valid next actions without marking anything read.
GET
/
client
/
v2
/
dm-conversations
List conversations
curl --request GET \
--url https://api.goextrovert.com/client/v2/dm-conversations \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.goextrovert.com/client/v2/dm-conversations"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.goextrovert.com/client/v2/dm-conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goextrovert.com/client/v2/dm-conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goextrovert.com/client/v2/dm-conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goextrovert.com/client/v2/dm-conversations")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/dm-conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"conversations": [
{
"connectionId": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"ownerId": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"prospect": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"linkedInUrl": "<string>",
"headline": "<string>",
"avatarUrl": "<string>"
},
"context": {
"campaign": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"name": "<string>"
},
"prospectList": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60",
"name": "<string>"
}
},
"connectedAt": "2025-06-30T14:02:07.456Z",
"lastMessage": {
"text": "<string>",
"author": "Owner",
"sentAt": "2025-06-30T14:02:07.456Z"
},
"unreadCount": 4503599627370495,
"state": "No draft",
"allowedActions": [
"prepare-reply"
]
}
],
"pagination": {
"limit": 4503599627370495,
"offset": 4503599627370495,
"total": 4503599627370495
}
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Authorizations
API Key for authentication
Query Parameters
LinkedIn account owner whose inbox is being read. Often a managed account rather than the authenticated user — call user_list-shared first and pick the owner whose LinkedIn profile holds the conversations.
Required lowercase inbox view. Suggested is not accepted.
Available options:
unread, all Optional campaign filter.
Optional Prospect List filter.
Optional case-insensitive prospect/conversation search text.
Minimum string length:
1Number of records requested for this page.
Required range:
1 <= x <= 50Offset from the start of the filtered result set.
Required range:
0 <= x <= 9007199254740991