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"
}
},
"watchedVariables": {
"customerId": "cus_123",
"appointmentConfirmed": "true"
},
"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>"
}
]
}Calls
Get a call
GET
/
v1
/
calls
/
{id}
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"
}
},
"watchedVariables": {
"customerId": "cus_123",
"appointmentConfirmed": "true"
},
"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>"
}
]
}Response
OK
Result of the extractors. Each extractor is represented by an object with 'name' and 'value' fields.
Show child attributes
Show child attributes
Example:
[ { "name": "customer", "value": [ { "name": "firstname", "value": ["John"] }, { "name": "lastname", "value": ["Doe"] }, { "name": "address", "value": ["123 Main St"] } ] }, { "name": "example", "value": ["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
Example:
[ { "name": "Customer's request", "value": "Refund" }, { "name": "Sentiment", "value": "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
Example:
{ "firstName": "firstname", "lastName": "lastname", "orderNumber": "5HZ99FRT", "system": { "phone": "+33612345678" } }