Send session heartbeat
curl --request POST \
--url http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeatimport requests
url = "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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 := "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"sessionId": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"lastActivity": "2023-11-07T05:31:56Z",
"metadata": {},
"expiresAt": "2023-11-07T05:31:56Z",
"timeoutConfig": {
"timeoutMinutes": 123,
"autoRenew": true,
"maxDurationMinutes": 123,
"warningThresholdMinutes": 123
},
"renewalCount": 123,
"timeRemaining": 123,
"isNearExpiration": true
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>"
}
}Session Lifecycle
Session Heartbeat
Send a heartbeat to keep a session alive and optionally renew it
POST
/
api
/
messaging
/
sessions
/
{sessionId}
/
heartbeat
Send session heartbeat
curl --request POST \
--url http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeatimport requests
url = "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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 := "http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/api/messaging/sessions/{sessionId}/heartbeat")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"sessionId": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"lastActivity": "2023-11-07T05:31:56Z",
"metadata": {},
"expiresAt": "2023-11-07T05:31:56Z",
"timeoutConfig": {
"timeoutMinutes": 123,
"autoRenew": true,
"maxDurationMinutes": 123,
"warningThresholdMinutes": 123
},
"renewalCount": 123,
"timeRemaining": 123,
"isNearExpiration": true
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>"
}
}Path Parameters
ID of the session
Response
Heartbeat received successfully
Complete session information with status and timeout details
Unique session identifier
UUID of the agent
UUID of the user
Session creation timestamp
Last activity timestamp
Session metadata
When the session will expire
Current timeout configuration
Show child attributes
Show child attributes
Number of times the session has been renewed
Milliseconds until session expiration
Whether the session is within the warning threshold
Was this page helpful?

