curl --request POST \
--url https://developer.synq.io/api/sre/llm/v1/evaluate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"outputSchema": {},
"systemPrompt": "<string>",
"messages": [
{
"content": "<string>"
}
]
}
'import requests
url = "https://developer.synq.io/api/sre/llm/v1/evaluate"
payload = {
"outputSchema": {},
"systemPrompt": "<string>",
"messages": [{ "content": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({outputSchema: {}, systemPrompt: '<string>', messages: [{content: '<string>'}]})
};
fetch('https://developer.synq.io/api/sre/llm/v1/evaluate', 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://developer.synq.io/api/sre/llm/v1/evaluate",
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([
'outputSchema' => [
],
'systemPrompt' => '<string>',
'messages' => [
[
'content' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://developer.synq.io/api/sre/llm/v1/evaluate"
payload := strings.NewReader("{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://developer.synq.io/api/sre/llm/v1/evaluate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/sre/llm/v1/evaluate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"output": {},
"metrics": {
"inputTokens": 123,
"outputTokens": 123,
"totalTokens": 123,
"latencyMs": 123,
"model": "<string>",
"cacheWriteTokens": 123,
"cacheReadTokens": 123
}
}Evaluate
Evaluates an LLM request with a structured output schema and message history. The main prompt should be constant as it will be cached for efficiency.
curl --request POST \
--url https://developer.synq.io/api/sre/llm/v1/evaluate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"outputSchema": {},
"systemPrompt": "<string>",
"messages": [
{
"content": "<string>"
}
]
}
'import requests
url = "https://developer.synq.io/api/sre/llm/v1/evaluate"
payload = {
"outputSchema": {},
"systemPrompt": "<string>",
"messages": [{ "content": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({outputSchema: {}, systemPrompt: '<string>', messages: [{content: '<string>'}]})
};
fetch('https://developer.synq.io/api/sre/llm/v1/evaluate', 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://developer.synq.io/api/sre/llm/v1/evaluate",
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([
'outputSchema' => [
],
'systemPrompt' => '<string>',
'messages' => [
[
'content' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://developer.synq.io/api/sre/llm/v1/evaluate"
payload := strings.NewReader("{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://developer.synq.io/api/sre/llm/v1/evaluate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/sre/llm/v1/evaluate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"outputSchema\": {},\n \"systemPrompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"output": {},
"metrics": {
"inputTokens": 123,
"outputTokens": 123,
"totalTokens": 123,
"latencyMs": 123,
"model": "<string>",
"cacheWriteTokens": 123,
"cacheReadTokens": 123
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request to evaluate an LLM request with structured output.
JSON schema defining the structure of the expected output. The LLM will produce output conforming to this schema.
Show child attributes
Show child attributes
Main system prompt providing instructions to the LLM. This should be constant as it will be cached for efficiency.
History of messages in the conversation. Must contain at least one message. The last message is used as the final request to the LLM.
1Show child attributes
Show child attributes
Type of model to use for the evaluation. Defaults to MODEL_TYPE_SUMMARY if not specified or set to MODEL_TYPE_UNSPECIFIED.
MODEL_TYPE_UNSPECIFIED, MODEL_TYPE_SUMMARY, MODEL_TYPE_THINKING