Analyze Batch with AI
curl --request POST \
--url https://app.luly.ai/api/v1/batches/{batch_id}/analyze \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"goal": [
[
"<string>"
]
]
}
'import requests
url = "https://app.luly.ai/api/v1/batches/{batch_id}/analyze"
payload = { "goal": [["<string>"]] }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({goal: [['<string>']]})
};
fetch('https://app.luly.ai/api/v1/batches/{batch_id}/analyze', 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://app.luly.ai/api/v1/batches/{batch_id}/analyze",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'goal' => [
[
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.luly.ai/api/v1/batches/{batch_id}/analyze"
payload := strings.NewReader("{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.luly.ai/api/v1/batches/{batch_id}/analyze")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.luly.ai/api/v1/batches/{batch_id}/analyze")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"pathway_id": "9d404c1b-6a23-4426-953a-a52c392ff8f1"
}
Batches
Analyze Batch with AI
Analyzes a batch of calls based on using questions and goals..
POST
/
v1
/
batches
/
{batch_id}
/
analyze
Analyze Batch with AI
curl --request POST \
--url https://app.luly.ai/api/v1/batches/{batch_id}/analyze \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"goal": [
[
"<string>"
]
]
}
'import requests
url = "https://app.luly.ai/api/v1/batches/{batch_id}/analyze"
payload = { "goal": [["<string>"]] }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({goal: [['<string>']]})
};
fetch('https://app.luly.ai/api/v1/batches/{batch_id}/analyze', 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://app.luly.ai/api/v1/batches/{batch_id}/analyze",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'goal' => [
[
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.luly.ai/api/v1/batches/{batch_id}/analyze"
payload := strings.NewReader("{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.luly.ai/api/v1/batches/{batch_id}/analyze")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.luly.ai/api/v1/batches/{batch_id}/analyze")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"goal\": [\n [\n \"<string>\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"pathway_id": "9d404c1b-6a23-4426-953a-a52c392ff8f1"
}
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The unique identifier for the batch of calls to be analyzed.
Request Body
string[][]
required
An array of questions to be analyzed for each call in the batch.Each question should be an array with two elements: the question text and the expected answer type (e.g., “string”, “boolean”).Fairly flexible in terms of the expected answer type, and unanswerable questions will default to null.Examples:
"questions": [
["Who answered the call?", "human or voicemail"],
["Positive feedback about the product: ", "string"],
["Negative feedback about the product: ", "string"],
["Customer confirmed they were satisfied", "boolean"]
];
Response
object
Will be success if the request was successful.
string
Confirms the request was successful, or provides an error message if the request failed.
object
Contains the analyzed answers for each call in the batch.The keys are call_ids from the batch, and the array values are the analysis results for each question in the batch.
number
Token-based price for the analysis request.As a rough estimate, the base cost is 0.003 credits with an additional 0.0015 credits per call in the batch.Longer call transcripts and higher numbers of questions can increase the cost, however the cost scales very effectively with batches vs. individual calls.
{
"status": "success",
"pathway_id": "9d404c1b-6a23-4426-953a-a52c392ff8f1"
}