Chats
Get Chats
Retrieves a paginated list of active chats for a worker. Supports cursor-based pagination for infinite scroll.
GET
/
workers
/
{id}
/
chats
Get Chats
curl --request GET \
--url https://api.roostedhr.com/api/1_12/workers/{id}/chats \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.roostedhr.com/api/1_12/workers/{id}/chats"
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.roostedhr.com/api/1_12/workers/{id}/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.roostedhr.com/api/1_12/workers/{id}/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 => [
"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.roostedhr.com/api/1_12/workers/{id}/chats"
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.roostedhr.com/api/1_12/workers/{id}/chats")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roostedhr.com/api/1_12/workers/{id}/chats")
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{
"chats": [
{
"id": "<string>",
"auto_add_workers": 0,
"event_id": "<string>",
"chat_admin": 0,
"silenced": 0,
"on_chat": 0,
"date_created": "<string>",
"name": "<string>",
"most_recent_message_id": "<string>",
"locked": 0,
"last_message_timestamp": "<string>",
"message": "<string>",
"name_first": "<string>",
"selected_picture_location": "<string>",
"chats_order": "<string>",
"unread_count": 1
}
],
"has_more": true
}{
"code": "WRK-3500",
"error": "Invalid limit parameter"
}{
"code": "ATH-100",
"error": "Invalid or missing API key"
}{
"code": "WRK-300",
"error": "Worker not found"
}{
"code": "WRK-3300",
"error": "Failed to get chats"
}This endpoint uses cursor-based pagination for infinite scroll. Pass
last_seen_id with the ID of the last chat from the previous page to fetch the next set of results. Omit it for the first page.Use
search_term to filter chats by title, or set all_chats to true to include inactive chats.Authorizations
Path Parameters
Worker ID
Query Parameters
Fetches all chats if true
Title search query for chats
ID of the last chat from the previous page. Omit for the first page.
Maximum number of chats to return per page.
⌘I
Get Chats
curl --request GET \
--url https://api.roostedhr.com/api/1_12/workers/{id}/chats \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.roostedhr.com/api/1_12/workers/{id}/chats"
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.roostedhr.com/api/1_12/workers/{id}/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.roostedhr.com/api/1_12/workers/{id}/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 => [
"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.roostedhr.com/api/1_12/workers/{id}/chats"
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.roostedhr.com/api/1_12/workers/{id}/chats")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roostedhr.com/api/1_12/workers/{id}/chats")
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{
"chats": [
{
"id": "<string>",
"auto_add_workers": 0,
"event_id": "<string>",
"chat_admin": 0,
"silenced": 0,
"on_chat": 0,
"date_created": "<string>",
"name": "<string>",
"most_recent_message_id": "<string>",
"locked": 0,
"last_message_timestamp": "<string>",
"message": "<string>",
"name_first": "<string>",
"selected_picture_location": "<string>",
"chats_order": "<string>",
"unread_count": 1
}
],
"has_more": true
}{
"code": "WRK-3500",
"error": "Invalid limit parameter"
}{
"code": "ATH-100",
"error": "Invalid or missing API key"
}{
"code": "WRK-300",
"error": "Worker not found"
}{
"code": "WRK-3300",
"error": "Failed to get chats"
}