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 agentVersions = await client.agentVersion.list('agentId');
console.log(agentVersions.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
)
agent_versions = client.agent_version.list(
agent_id="agentId",
)
print(agent_versions.data)curl --request GET \
--url https://api.roark.ai/v1/agent/{agentId}/versions \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/agent/{agentId}/versions",
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/agent/{agentId}/versions"
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/agent/{agentId}/versions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/agent/{agentId}/versions")
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": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "DRAFT",
"versionNumber": 123,
"revision": 123,
"baseVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"restoredFromVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"summary": "<string>",
"createdByType": "USER",
"createdById": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"publishedAt": "<string>",
"publishedByType": "USER",
"publishedById": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>",
"updatedAt": "<string>",
"modalities": [
"call"
],
"language": "<string>",
"firstMessageMode": "SPEAK_TEXT",
"firstMessage": "<string>",
"firstMessageAudioUrl": "<string>",
"llmProvider": "OPENAI",
"llmModel": "<string>",
"llmTemperature": 123,
"llmMaxTokens": 123,
"llmBackendModel": "<string>",
"llmVoice": "<string>",
"sttProvider": "DEEPGRAM",
"sttModel": "<string>",
"sttKeyterms": [
"<string>"
],
"sttSmartFormat": true,
"sttEndpointingMs": 123,
"sttTurnDetection": "pipeline",
"interruptionMode": "ALLOW",
"vadStartSecs": 123,
"vadStopSecs": 123,
"callMaxDurationSeconds": 123,
"callSilenceTimeoutSeconds": 123,
"idleTimeoutSeconds": 123,
"idleMaxCount": 123,
"idleMessages": [
"<string>"
],
"endDetectionPhrases": [
"<string>"
],
"endDetectionReasons": [
"<string>"
],
"endCallGoodbyeMessage": "<string>",
"backgroundNoise": "NONE",
"backgroundNoiseUrl": "<string>",
"backgroundNoiseVolume": 123,
"chatMaxDurationSeconds": 123,
"chatInactivityTimeoutSeconds": 123,
"subAgents": [
{
"key": "<string>",
"name": "<string>",
"systemPrompt": "<string>",
"isInitial": true,
"ttsProvider": "CARTESIA",
"ttsModel": "<string>",
"ttsVoiceId": "<string>",
"ttsSpeed": 123,
"ttsStability": 123,
"ttsSimilarityBoost": 123,
"tools": [
{
"toolDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinnedVersion": 123
}
],
"handoffs": [
{
"to": "<string>",
"description": "<string>",
"once": true,
"history": "SHARED",
"note": "<string>"
}
]
}
],
"issues": [
{
"field": "<string>",
"message": "<string>"
}
]
}
],
"pagination": {
"total": 123,
"hasMore": true,
"nextCursor": "<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": "internal",
"code": "internal_error",
"message": "Internal server error"
}Agent
List an agent's versions
The open draft first, if there is one, then published versions newest first. Paginated: pass pagination.nextCursor as after for the next page.
GET
/
v1
/
agent
/
{agentId}
/
versions
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 agentVersions = await client.agentVersion.list('agentId');
console.log(agentVersions.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
)
agent_versions = client.agent_version.list(
agent_id="agentId",
)
print(agent_versions.data)curl --request GET \
--url https://api.roark.ai/v1/agent/{agentId}/versions \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/agent/{agentId}/versions",
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/agent/{agentId}/versions"
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/agent/{agentId}/versions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/agent/{agentId}/versions")
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": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "DRAFT",
"versionNumber": 123,
"revision": 123,
"baseVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"restoredFromVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"summary": "<string>",
"createdByType": "USER",
"createdById": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"publishedAt": "<string>",
"publishedByType": "USER",
"publishedById": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "<string>",
"updatedAt": "<string>",
"modalities": [
"call"
],
"language": "<string>",
"firstMessageMode": "SPEAK_TEXT",
"firstMessage": "<string>",
"firstMessageAudioUrl": "<string>",
"llmProvider": "OPENAI",
"llmModel": "<string>",
"llmTemperature": 123,
"llmMaxTokens": 123,
"llmBackendModel": "<string>",
"llmVoice": "<string>",
"sttProvider": "DEEPGRAM",
"sttModel": "<string>",
"sttKeyterms": [
"<string>"
],
"sttSmartFormat": true,
"sttEndpointingMs": 123,
"sttTurnDetection": "pipeline",
"interruptionMode": "ALLOW",
"vadStartSecs": 123,
"vadStopSecs": 123,
"callMaxDurationSeconds": 123,
"callSilenceTimeoutSeconds": 123,
"idleTimeoutSeconds": 123,
"idleMaxCount": 123,
"idleMessages": [
"<string>"
],
"endDetectionPhrases": [
"<string>"
],
"endDetectionReasons": [
"<string>"
],
"endCallGoodbyeMessage": "<string>",
"backgroundNoise": "NONE",
"backgroundNoiseUrl": "<string>",
"backgroundNoiseVolume": 123,
"chatMaxDurationSeconds": 123,
"chatInactivityTimeoutSeconds": 123,
"subAgents": [
{
"key": "<string>",
"name": "<string>",
"systemPrompt": "<string>",
"isInitial": true,
"ttsProvider": "CARTESIA",
"ttsModel": "<string>",
"ttsVoiceId": "<string>",
"ttsSpeed": 123,
"ttsStability": 123,
"ttsSimilarityBoost": 123,
"tools": [
{
"toolDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinnedVersion": 123
}
],
"handoffs": [
{
"to": "<string>",
"description": "<string>",
"once": true,
"history": "SHARED",
"note": "<string>"
}
]
}
],
"issues": [
{
"field": "<string>",
"message": "<string>"
}
]
}
],
"pagination": {
"total": 123,
"hasMore": true,
"nextCursor": "<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": "internal",
"code": "internal_error",
"message": "Internal server error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.