List Chats
curl --request GET \
--url https://api.attention.tech/v2/chats \
--header 'Authorization: <api-key>'import requests
url = "https://api.attention.tech/v2/chats"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.attention.tech/v2/chats', 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.attention.tech/v2/chats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.attention.tech/v2/chats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.attention.tech/v2/chats")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attention.tech/v2/chats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "chat-uuid-123",
"externalId": "slack-channel-xyz",
"applicationName": "slack",
"title": "Sales Q1 Planning",
"type": "chat",
"userId": "user-uuid-456",
"teamId": "team-uuid-789",
"dateStart": "2024-03-18T09:00:00Z",
"createdAt": "2024-03-18T09:00:00Z",
"participants": [],
"transcript": []
}
],
"meta": {
"totalRecords": 1
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}Chat
List Chats
Returns a paginated list of chats with optional filters. Org-level API keys return all chats; user-level keys return only chats accessible to the user.
GET
/
chats
List Chats
curl --request GET \
--url https://api.attention.tech/v2/chats \
--header 'Authorization: <api-key>'import requests
url = "https://api.attention.tech/v2/chats"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.attention.tech/v2/chats', 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.attention.tech/v2/chats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.attention.tech/v2/chats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.attention.tech/v2/chats")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attention.tech/v2/chats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "chat-uuid-123",
"externalId": "slack-channel-xyz",
"applicationName": "slack",
"title": "Sales Q1 Planning",
"type": "chat",
"userId": "user-uuid-456",
"teamId": "team-uuid-789",
"dateStart": "2024-03-18T09:00:00Z",
"createdAt": "2024-03-18T09:00:00Z",
"participants": [],
"transcript": []
}
],
"meta": {
"totalRecords": 1
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}Authorizations
Query Parameters
Filter by external ID (exact match)
Filter by chat type (chat or email)
Available options:
chat, email Filter by title (case-insensitive partial match)
Filter by participant name (case-insensitive partial match)
Filter by scorecard UUID(s) — returns chats evaluated with any of the given scorecards
Filter by user UUID(s)
Filter by team UUID(s)
Start of date range filter (ISO 8601 format)
End of date range filter (ISO 8601 format)
If true, omit transcript data from response to reduce payload size
Page number for pagination (starts from 1)
Required range:
x >= 1Number of items per page (min 1, max 50)
Required range:
1 <= x <= 50Was this page helpful?