Get paginated list of conversation sessions
curl --request GET \
--url https://{subdomain}.mihu.ai/api/v1/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.mihu.ai/api/v1/sessions', 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://{subdomain}.mihu.ai/api/v1/sessions",
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: Bearer <token>"
],
]);
$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://{subdomain}.mihu.ai/api/v1/sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{subdomain}.mihu.ai/api/v1/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Sessions retrieved successfully",
"data": {
"current_page": 123,
"data": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "text",
"status": "active",
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"evaluated_at": "2023-11-07T05:31:56Z",
"summary": "<string>",
"summary_generated_at": "2023-11-07T05:31:56Z",
"agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"phone_number": "<string>"
},
"call_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"campaign_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"listing_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"task_uuids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"total": 123,
"last_page": 123
}
}Sessions
Get paginated list of conversation sessions
Returns paginated conversation sessions. Sessions group messages or voice activity into reviewable interaction windows. Use filters to find sessions by conversation, contact, agent, campaign, task, status, type, or date ordering.
GET
/
api
/
v1
/
sessions
Get paginated list of conversation sessions
curl --request GET \
--url https://{subdomain}.mihu.ai/api/v1/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.mihu.ai/api/v1/sessions', 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://{subdomain}.mihu.ai/api/v1/sessions",
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: Bearer <token>"
],
]);
$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://{subdomain}.mihu.ai/api/v1/sessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{subdomain}.mihu.ai/api/v1/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Sessions retrieved successfully",
"data": {
"current_page": 123,
"data": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "text",
"status": "active",
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"evaluated_at": "2023-11-07T05:31:56Z",
"summary": "<string>",
"summary_generated_at": "2023-11-07T05:31:56Z",
"agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"phone_number": "<string>"
},
"call_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"campaign_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"listing_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"task_uuids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"total": 123,
"last_page": 123
}
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Query Parameters
Required range:
x <= 100Filter by campaign UUID (via conversation's call)
Filter by task UUID (matched via task.third_party_id = call.uuid)
Available options:
active, completed, timed_out Available options:
text, voice Available options:
created_at, updated_at, started_at, last_activity_at Available options:
asc, desc Response
Success
Indicates whether the request completed successfully. True for successful responses; false for documented error responses.
Example:
true
Human-readable response message. Safe to display in logs or simple client notifications; use structured fields for program logic.
Example:
"Sessions retrieved successfully"
Show child attributes
Show child attributes
