cURL
curl --request GET \
--url https://api.finosu.com/calls/{id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.finosu.com/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.finosu.com/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.finosu.com/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.finosu.com/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.finosu.com/calls/{id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finosu.com/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{
"customerId": "<string>",
"toPhoneNumber": "<string>",
"transcript": "<string>",
"recordingUrl": "<string>",
"timestamp": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Calls
Retrieve a Call
Returns a specific call in the authenticated company. recordingUrl is a fresh one-hour link or null if unavailable. Missing, deleted, or inaccessible calls return 404.
GET
/
calls
/
{id}
cURL
curl --request GET \
--url https://api.finosu.com/calls/{id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.finosu.com/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.finosu.com/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.finosu.com/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.finosu.com/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.finosu.com/calls/{id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finosu.com/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{
"customerId": "<string>",
"toPhoneNumber": "<string>",
"transcript": "<string>",
"recordingUrl": "<string>",
"timestamp": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Returns a call in the company associated with your API key. The
id path parameter is the Finosu call UUID — the id returned by List All Calls — not a customer reference. Missing, deleted, or inaccessible calls return 404. recordingUrl is a fresh link valid for one hour; it is null when the call has no recording or when recording storage is temporarily unavailable, so refetch the call to refresh or retry the link.
Response fields
customerId is your external customer reference, falling back to the Finosu customer UUID when no reference is stored. timestamp is the call record’s creation time in ISO 8601. toPhoneNumber, transcript, recordingUrl, and timestamp can each be null when unavailable.
Invalid Identifier
An invalid call UUID returns HTTP422 Unprocessable Content with a string detail.
A valid UUID with no accessible matching record returns 404.Response
Call response
REST call detail returned by GET /calls/{id} and GET /calls/customer/{customerId}. This is not the outbound call webhook payload.