List Lexi Conversations
curl --request GET \
--url https://api.example.com/v1/lexi/conversationsimport requests
url = "https://api.example.com/v1/lexi/conversations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/lexi/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.example.com/v1/lexi/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/lexi/conversations"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/lexi/conversations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/lexi/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"conversations": [
{
"id": "<string>",
"title": "<string>",
"message_count": 123,
"last_message_at": "<string>",
"context": {},
"archived": true,
"created_at": "<string>"
}
]
},
"meta": {}
}Lexi AI
List Lexi Conversations
Paginate over saved Lexi AI conversations for the workspace
GET
/
v1
/
lexi
/
conversations
List Lexi Conversations
curl --request GET \
--url https://api.example.com/v1/lexi/conversationsimport requests
url = "https://api.example.com/v1/lexi/conversations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/lexi/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.example.com/v1/lexi/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/lexi/conversations"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/lexi/conversations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/lexi/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"conversations": [
{
"id": "<string>",
"title": "<string>",
"message_count": 123,
"last_message_at": "<string>",
"context": {},
"archived": true,
"created_at": "<string>"
}
]
},
"meta": {}
}Request
Query Parameters
integer
default:"1"
Page number.
integer
default:"25"
Results per page. Maximum 100.
string
Optional full-text search against conversation titles and message content.
string
Filter by the user who owns the conversation. When omitted, returns conversations for the current API key’s user.
string
Filter to conversations tied to the given contact context.
string
Filter to conversations tied to the given deal context.
boolean
default:"false"
When
true, includes archived conversations.Headers
Authorization: Bearer wbk_your_api_key_here
Response
object
object
Pagination metadata:
page, per_page, total.X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-Request-ID.
curl "https://data.leadlex.com/functions/v1/api-gateway/v1/lexi/conversations?per_page=50" \
-H "Authorization: Bearer wbk_your_api_key_here"
import requests
API_KEY = "wbk_your_api_key_here"
BASE_URL = "https://data.leadlex.com/functions/v1/api-gateway"
r = requests.get(
f"{BASE_URL}/v1/lexi/conversations",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"per_page": 50},
)
for c in r.json()["data"]["conversations"]:
print(c["title"], c["last_message_at"])
const url = new URL('https://data.leadlex.com/functions/v1/api-gateway/v1/lexi/conversations');
url.searchParams.set('per_page', '50');
const res = await fetch(url, { headers: { Authorization: 'Bearer wbk_your_api_key_here' } });
const { data } = await res.json();
console.log(data.conversations.length);
Example Response
{
"data": {
"conversations": [
{
"id": "conv_01HY1",
"title": "Series B research for Acme Corp",
"message_count": 14,
"last_message_at": "2026-04-17T10:30:00Z",
"context": { "contact_id": "123e4567-e89b-12d3-a456-426614174000" },
"archived": false,
"created_at": "2026-04-15T09:00:00Z"
}
]
},
"meta": { "page": 1, "per_page": 50, "total": 27 }
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | invalid_key | Invalid or expired API key |
| 403 | insufficient_permissions | Missing read:ai permission |
| 429 | rate_limited | Rate limit exceeded |