curl --request GET \
--url https://api.eu.volubile.ai/v1/calls/{id} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.eu.volubile.ai/v1/calls/{id}"
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.eu.volubile.ai/v1/calls/{id}', 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.eu.volubile.ai/v1/calls/{id}",
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.eu.volubile.ai/v1/calls/{id}"
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.eu.volubile.ai/v1/calls/{id}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.volubile.ai/v1/calls/{id}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "+33612345678",
"type": "INBOUND",
"duration": 360,
"startTime": "2024-07-30T14:35:00Z",
"endTime": "2024-07-30T14:41:00Z",
"anonymous": true,
"status": "IN_PROGRESS",
"extractors": [
{
"name": "customer",
"value": [
{
"name": "firstname",
"value": [
"John"
]
},
{
"name": "lastname",
"value": [
"Doe"
]
},
{
"name": "address",
"value": [
"123 Main St"
]
}
]
},
{
"name": "example",
"value": [
"example1"
]
}
],
"extractedData": {
"customer": {
"firstname": "John",
"lastname": "Doe",
"address": "123 Main St"
},
"example": "example1"
},
"classifiers": [
{
"name": "Customer's request",
"value": "Refund"
},
{
"name": "Sentiment",
"value": "Positive"
}
],
"classificationData": {
"Customer's request": "Refund",
"Sentiment": "Positive"
},
"context": {
"firstName": "firstname",
"lastName": "lastname",
"orderNumber": "5HZ99FRT",
"system": {
"phone": "+33612345678"
}
},
"recorded": true,
"summary": "Discussed project requirements and next steps.",
"tags": [
"tag1",
"tag2",
"tag3"
],
"created": "2024-07-30T14:45:00Z"
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}Get a call
curl --request GET \
--url https://api.eu.volubile.ai/v1/calls/{id} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.eu.volubile.ai/v1/calls/{id}"
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.eu.volubile.ai/v1/calls/{id}', 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.eu.volubile.ai/v1/calls/{id}",
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.eu.volubile.ai/v1/calls/{id}"
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.eu.volubile.ai/v1/calls/{id}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.volubile.ai/v1/calls/{id}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "+33612345678",
"type": "INBOUND",
"duration": 360,
"startTime": "2024-07-30T14:35:00Z",
"endTime": "2024-07-30T14:41:00Z",
"anonymous": true,
"status": "IN_PROGRESS",
"extractors": [
{
"name": "customer",
"value": [
{
"name": "firstname",
"value": [
"John"
]
},
{
"name": "lastname",
"value": [
"Doe"
]
},
{
"name": "address",
"value": [
"123 Main St"
]
}
]
},
{
"name": "example",
"value": [
"example1"
]
}
],
"extractedData": {
"customer": {
"firstname": "John",
"lastname": "Doe",
"address": "123 Main St"
},
"example": "example1"
},
"classifiers": [
{
"name": "Customer's request",
"value": "Refund"
},
{
"name": "Sentiment",
"value": "Positive"
}
],
"classificationData": {
"Customer's request": "Refund",
"Sentiment": "Positive"
},
"context": {
"firstName": "firstname",
"lastName": "lastname",
"orderNumber": "5HZ99FRT",
"system": {
"phone": "+33612345678"
}
},
"recorded": true,
"summary": "Discussed project requirements and next steps.",
"tags": [
"tag1",
"tag2",
"tag3"
],
"created": "2024-07-30T14:45:00Z"
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"message": "<string>",
"errors": [
{
"field": "<string>",
"rejectedValue": {},
"message": "<string>"
}
]
}Authorizations
Your API key.
Path Parameters
Unique identifier of the call
Response
OK
Unique identifier of the call
Unique identifier of the agent
Phone number of the other party, in the E.164 international standard format
"+33612345678"
Type of the call
INBOUND, OUTBOUND Duration of the call in seconds
360
Start time of the call.
Format: UTC time - yyyy-MM-dd'T'HH:mm:ss'Z'
"2024-07-30T14:35:00Z"
End time of the call.
Format: UTC time - yyyy-MM-dd'T'HH:mm:ss'Z'
"2024-07-30T14:41:00Z"
If the call was anonymous
Status of the call
IN_PROGRESS, CANCELED, COMPLETED, NO_ANSWER, VOICE_BOX, UNREACHABLE, FAILED, TRANSFERRED, REJECTED, FAILOVER, REJECTED_LIMIT_REACHED, REJECTED_MAX_CONCURRENCY Result of the extractors. Each extractor is represented by an object with 'name' and 'value' fields.
Show child attributes
Show child attributes
[ { "name": "customer", "value": [ { "name": "firstname", "value": ["John"] }, { "name": "lastname", "value": ["Doe"] }, { "name": "address", "value": ["123 Main St"] } ] }, { "name": "example", "value": ["example1"] } ]
Flattened result of the extractors. Extractors are represented by a { "key": "value" } object.
Show child attributes
Show child attributes
{ "customer": { "firstname": "John", "lastname": "Doe", "address": "123 Main St" }, "example": "example1" }
Result of the classifiers. Each classifier is represented by an object with 'name' and 'value' fields. The 'name' indicates the classification category, and the 'value' is the determined classification.
Show child attributes
Show child attributes
[ { "name": "Customer's request", "value": "Refund" }, { "name": "Sentiment", "value": "Positive" } ]
Flattened result of the classifiers. Classifiers are represented by a { "key": "value" } object.
Show child attributes
Show child attributes
{ "Customer's request": "Refund", "Sentiment": "Positive" }
Custom object for dynamic content injection into the agent prompt. Keys in this map correspond to placeholders in the prompt template: e.g {{ firstName }}. At runtime, each placeholder was replaced with its corresponding value.
System prefixed variables are reserved and automatically injected by Volubile system e.g. recipient phone, instant time of the call, etc.
Show child attributes
Show child attributes
{ "firstName": "firstname", "lastName": "lastname", "orderNumber": "5HZ99FRT", "system": { "phone": "+33612345678" } }
If the call was recorded
Summary of what happened during the call
"Discussed project requirements and next steps."
Tags associated with the call
Tags associated with the call
["tag1", "tag2", "tag3"]
Timestamp when the call record was created.
Format: UTC time - yyyy-MM-dd'T'HH:mm:ss'Z'
"2024-07-30T14:45:00Z"