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.simulationRunPlanJob.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.simulation_run_plan_job.get_cost(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)curl --request GET \
--url https://api.roark.ai/v1/simulation/plan/job/{jobId}/cost \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/simulation/plan/job/{jobId}/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/simulation/plan/job/{jobId}/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/simulation/plan/job/{jobId}/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/simulation/plan/job/{jobId}/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": {
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "usd",
"totalUsdMicros": 123,
"totalUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
],
"calls": [
{
"conversationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"simulationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amountUsdMicros": 123,
"amountUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
]
}
]
}
}{
"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"
}Simulation Run Plan Job
Get simulation run cost
The billable spend for one simulation run (run plan job), split by cost type, with the spend of each simulated call in it. Safe to call while the run is in progress: totals reflect the costs recorded so far. 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
/
simulation
/
plan
/
job
/
{jobId}
/
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.simulationRunPlanJob.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.simulation_run_plan_job.get_cost(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)curl --request GET \
--url https://api.roark.ai/v1/simulation/plan/job/{jobId}/cost \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/simulation/plan/job/{jobId}/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/simulation/plan/job/{jobId}/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/simulation/plan/job/{jobId}/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/simulation/plan/job/{jobId}/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": {
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "usd",
"totalUsdMicros": 123,
"totalUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
],
"calls": [
{
"conversationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"simulationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amountUsdMicros": 123,
"amountUsd": 123,
"breakdown": [
{
"source": "SIM_PLATFORM_FEE",
"surface": "SIMULATION",
"amountUsdMicros": 123,
"amountUsd": 123,
"quantity": 1
}
]
}
]
}
}{
"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"
}