Trigger single-turn workflow test run
curl --request POST \
--url https://api.getmaxim.ai/v1/test-runs/single-turn/workflow \
--header 'Content-Type: application/json' \
--header 'x-maxim-api-key: <api-key>' \
--data '
{
"workspaceId": "<string>",
"datasetId": "<string>",
"workflowId": "<string>",
"datasetSplitId": "<string>",
"evaluators": [
{
"id": "<string>",
"name": "<string>",
"variableMapping": {}
}
],
"contextToEvaluate": [
{
"payload": "<string>"
}
],
"environmentId": "<string>"
}
'import requests
url = "https://api.getmaxim.ai/v1/test-runs/single-turn/workflow"
payload = {
"workspaceId": "<string>",
"datasetId": "<string>",
"workflowId": "<string>",
"datasetSplitId": "<string>",
"evaluators": [
{
"id": "<string>",
"name": "<string>",
"variableMapping": {}
}
],
"contextToEvaluate": [{ "payload": "<string>" }],
"environmentId": "<string>"
}
headers = {
"x-maxim-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-maxim-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspaceId: '<string>',
datasetId: '<string>',
workflowId: '<string>',
datasetSplitId: '<string>',
evaluators: [{id: '<string>', name: '<string>', variableMapping: {}}],
contextToEvaluate: [{payload: '<string>'}],
environmentId: '<string>'
})
};
fetch('https://api.getmaxim.ai/v1/test-runs/single-turn/workflow', 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.getmaxim.ai/v1/test-runs/single-turn/workflow",
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([
'workspaceId' => '<string>',
'datasetId' => '<string>',
'workflowId' => '<string>',
'datasetSplitId' => '<string>',
'evaluators' => [
[
'id' => '<string>',
'name' => '<string>',
'variableMapping' => [
]
]
],
'contextToEvaluate' => [
[
'payload' => '<string>'
]
],
'environmentId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-maxim-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getmaxim.ai/v1/test-runs/single-turn/workflow"
payload := strings.NewReader("{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-maxim-api-key", "<api-key>")
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://api.getmaxim.ai/v1/test-runs/single-turn/workflow")
.header("x-maxim-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmaxim.ai/v1/test-runs/single-turn/workflow")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-maxim-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"workspaceId": "<string>",
"status": "<string>",
"entityType": "<string>",
"createdAt": "<string>",
"entityId": "<string>"
}
}Test run
Trigger single-turn workflow test run
Trigger a single-turn workflow test run.
POST
/
v1
/
test-runs
/
single-turn
/
workflow
Trigger single-turn workflow test run
curl --request POST \
--url https://api.getmaxim.ai/v1/test-runs/single-turn/workflow \
--header 'Content-Type: application/json' \
--header 'x-maxim-api-key: <api-key>' \
--data '
{
"workspaceId": "<string>",
"datasetId": "<string>",
"workflowId": "<string>",
"datasetSplitId": "<string>",
"evaluators": [
{
"id": "<string>",
"name": "<string>",
"variableMapping": {}
}
],
"contextToEvaluate": [
{
"payload": "<string>"
}
],
"environmentId": "<string>"
}
'import requests
url = "https://api.getmaxim.ai/v1/test-runs/single-turn/workflow"
payload = {
"workspaceId": "<string>",
"datasetId": "<string>",
"workflowId": "<string>",
"datasetSplitId": "<string>",
"evaluators": [
{
"id": "<string>",
"name": "<string>",
"variableMapping": {}
}
],
"contextToEvaluate": [{ "payload": "<string>" }],
"environmentId": "<string>"
}
headers = {
"x-maxim-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-maxim-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspaceId: '<string>',
datasetId: '<string>',
workflowId: '<string>',
datasetSplitId: '<string>',
evaluators: [{id: '<string>', name: '<string>', variableMapping: {}}],
contextToEvaluate: [{payload: '<string>'}],
environmentId: '<string>'
})
};
fetch('https://api.getmaxim.ai/v1/test-runs/single-turn/workflow', 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.getmaxim.ai/v1/test-runs/single-turn/workflow",
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([
'workspaceId' => '<string>',
'datasetId' => '<string>',
'workflowId' => '<string>',
'datasetSplitId' => '<string>',
'evaluators' => [
[
'id' => '<string>',
'name' => '<string>',
'variableMapping' => [
]
]
],
'contextToEvaluate' => [
[
'payload' => '<string>'
]
],
'environmentId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-maxim-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getmaxim.ai/v1/test-runs/single-turn/workflow"
payload := strings.NewReader("{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-maxim-api-key", "<api-key>")
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://api.getmaxim.ai/v1/test-runs/single-turn/workflow")
.header("x-maxim-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmaxim.ai/v1/test-runs/single-turn/workflow")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-maxim-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspaceId\": \"<string>\",\n \"datasetId\": \"<string>\",\n \"workflowId\": \"<string>\",\n \"datasetSplitId\": \"<string>\",\n \"evaluators\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"variableMapping\": {}\n }\n ],\n \"contextToEvaluate\": [\n {\n \"payload\": \"<string>\"\n }\n ],\n \"environmentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"workspaceId": "<string>",
"status": "<string>",
"entityType": "<string>",
"createdAt": "<string>",
"entityId": "<string>"
}
}Authorizations
API key for authentication
Body
application/json
Payload for triggering a single-turn workflow test run
Workspace ID where the test run will execute
Dataset ID to use for the test run
Workflow ID to run
Optional dataset split ID
Array of evaluators with optional variable mapping to run on the test results.
Show child attributes
Show child attributes
Context sources to include in evaluation
Show child attributes
Show child attributes
Environment ID for variable resolution in the workflow config
Response
Single-turn workflow test run triggered successfully
Response from triggering a simulation
Show child attributes
Show child attributes
Was this page helpful?
⌘I