Get paginated list of calls
curl --request GET \
--url https://{subdomain}.mihu.ai/api/v1/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/calls"
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/calls', 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/calls",
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/calls"
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/calls")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/calls")
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": "Calls retrieved successfully",
"data": {
"current_page": 1,
"data": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"handled_by": "AI",
"duration": 123,
"status": "in-progress",
"direction": "Inbound",
"communication": "<string>",
"analysis": "<string>",
"timestamp": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"agent": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
}
],
"first_page_url": "<string>",
"last_page": 123,
"last_page_url": "<string>",
"next_page_url": "<string>",
"prev_page_url": "<string>",
"total": 123
}
}{
"success": false,
"message": "Invalid parameters",
"data": [
"<unknown>"
]
}{
"success": false,
"message": "An unexpected error occurred",
"data": [
"<unknown>"
]
}Call
Get paginated list of calls
Returns call records with pagination and optional filters. Use this endpoint to monitor inbound and outbound calls, review call status and duration, find calls for a contact or agent, and locate the UUID needed for detailed call inspection.
GET
/
api
/
v1
/
calls
Get paginated list of calls
curl --request GET \
--url https://{subdomain}.mihu.ai/api/v1/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/calls"
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/calls', 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/calls",
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/calls"
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/calls")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/calls")
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": "Calls retrieved successfully",
"data": {
"current_page": 1,
"data": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"handled_by": "AI",
"duration": 123,
"status": "in-progress",
"direction": "Inbound",
"communication": "<string>",
"analysis": "<string>",
"timestamp": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"agent": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
}
],
"first_page_url": "<string>",
"last_page": 123,
"last_page_url": "<string>",
"next_page_url": "<string>",
"prev_page_url": "<string>",
"total": 123
}
}{
"success": false,
"message": "Invalid parameters",
"data": [
"<unknown>"
]
}{
"success": false,
"message": "An unexpected error occurred",
"data": [
"<unknown>"
]
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Query Parameters
Page number
Number of items per page
Filter by agent UUID
Filter by call status
Available options:
in-progress, ended, missed, failed Filter by call direction
Available options:
Inbound, Outbound, webCall 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:
"Calls retrieved successfully"
Show child attributes
Show child attributes
