JavaScript
import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const response = await client.call.getCost('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(response.data);import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
response = client.call.get_cost(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)curl --request GET \
--url https://api.roark.ai/v1/call/{callId}/cost \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/call/{callId}/cost",
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://api.roark.ai/v1/call/{callId}/cost"
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://api.roark.ai/v1/call/{callId}/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/call/{callId}/cost")
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{
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "usd",
"totalUsdMicros": 123,
"totalUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
],
"items": [
{
"eventId": "<string>",
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1,
"quantityUnit": "MINUTES",
"provider": "<string>",
"model": "<string>",
"simulationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metricDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metricCollectionJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"occurredAt": "<string>"
}
]
}
}{
"type": "authentication",
"code": "unauthorized",
"message": "Authentication required"
}{
"type": "forbidden",
"code": "permission_denied",
"message": "You do not have permission to access this resource"
}{
"type": "not_found",
"code": "resource_not_found",
"message": "The requested resource could not be found"
}{
"type": "rate_limit",
"code": "too_many_requests",
"message": "Rate limit exceeded"
}{
"type": "internal",
"code": "internal_error",
"message": "Internal server error"
}Call
Get call cost
The billable spend attributed to one call, split by cost type, with every cost line behind it. Simulated calls include the costs their simulation incurred before the call connected. Amounts are billable spend only, in exact micro-dollars (*UsdMicros) and dollars (*Usd, for display). Requires an API key with the billing:read permission.
GET
/
v1
/
call
/
{callId}
/
cost
JavaScript
import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const response = await client.call.getCost('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(response.data);import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
response = client.call.get_cost(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)curl --request GET \
--url https://api.roark.ai/v1/call/{callId}/cost \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/call/{callId}/cost",
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://api.roark.ai/v1/call/{callId}/cost"
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://api.roark.ai/v1/call/{callId}/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/call/{callId}/cost")
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{
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "usd",
"totalUsdMicros": 123,
"totalUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
],
"items": [
{
"eventId": "<string>",
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1,
"quantityUnit": "MINUTES",
"provider": "<string>",
"model": "<string>",
"simulationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metricDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metricCollectionJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"occurredAt": "<string>"
}
]
}
}{
"type": "authentication",
"code": "unauthorized",
"message": "Authentication required"
}{
"type": "forbidden",
"code": "permission_denied",
"message": "You do not have permission to access this resource"
}{
"type": "not_found",
"code": "resource_not_found",
"message": "The requested resource could not be found"
}{
"type": "rate_limit",
"code": "too_many_requests",
"message": "Rate limit exceeded"
}{
"type": "internal",
"code": "internal_error",
"message": "Internal server error"
}