Runs
Steer a run
Adds a message to the run’s conversation. Use it to provide context, pursue a lead, or ask a question about the results. Steering a completed run continues the same run with its saved context. Resume a stopped run before steering it. Failed runs return 409.
The message is accepted before the agent responds. Read the response through the event stream. Steering preserves the saved agent configuration and approved scope.
POST
/
runs
/
{id}
/
steer
Steer a run
curl --request POST \
--url https://api.antigen.sh/v1/runs/{id}/steer \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "Investigate whether the export endpoint has the same authorization weakness."
}
'import requests
url = "https://api.antigen.sh/v1/runs/{id}/steer"
payload = { "message": "Investigate whether the export endpoint has the same authorization weakness." }
headers = {
"x-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-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Investigate whether the export endpoint has the same authorization weakness.'
})
};
fetch('https://api.antigen.sh/v1/runs/{id}/steer', 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.antigen.sh/v1/runs/{id}/steer",
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([
'message' => 'Investigate whether the export endpoint has the same authorization weakness.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.antigen.sh/v1/runs/{id}/steer"
payload := strings.NewReader("{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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.antigen.sh/v1/runs/{id}/steer")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.antigen.sh/v1/runs/{id}/steer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"code": "invalid_request",
"message": "Check the request fields and values."
}
}{
"error": {
"code": "unauthorized",
"message": "Supply a valid API key."
}
}{
"error": {
"code": "forbidden",
"message": "The API key does not permit this operation or requested scope."
}
}{
"error": {
"code": "not_found",
"message": "The resource does not exist in this organization."
}
}{
"error": {
"code": "conflict",
"message": "The resource’s current state does not allow this operation."
}
}{
"error": {
"code": "rate_limited",
"message": "Retry after the interval in Retry-After."
}
}Authorizations
API key from your organization. Supply the value directly, without a Bearer prefix.
Path Parameters
Opaque resource identifier.
Minimum string length:
1Body
application/json
Message to add to the run’s conversation.
Minimum string length:
1Response
Accepted.
Steer a run
curl --request POST \
--url https://api.antigen.sh/v1/runs/{id}/steer \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "Investigate whether the export endpoint has the same authorization weakness."
}
'import requests
url = "https://api.antigen.sh/v1/runs/{id}/steer"
payload = { "message": "Investigate whether the export endpoint has the same authorization weakness." }
headers = {
"x-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-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Investigate whether the export endpoint has the same authorization weakness.'
})
};
fetch('https://api.antigen.sh/v1/runs/{id}/steer', 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.antigen.sh/v1/runs/{id}/steer",
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([
'message' => 'Investigate whether the export endpoint has the same authorization weakness.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.antigen.sh/v1/runs/{id}/steer"
payload := strings.NewReader("{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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.antigen.sh/v1/runs/{id}/steer")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.antigen.sh/v1/runs/{id}/steer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Investigate whether the export endpoint has the same authorization weakness.\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"code": "invalid_request",
"message": "Check the request fields and values."
}
}{
"error": {
"code": "unauthorized",
"message": "Supply a valid API key."
}
}{
"error": {
"code": "forbidden",
"message": "The API key does not permit this operation or requested scope."
}
}{
"error": {
"code": "not_found",
"message": "The resource does not exist in this organization."
}
}{
"error": {
"code": "conflict",
"message": "The resource’s current state does not allow this operation."
}
}{
"error": {
"code": "rate_limited",
"message": "Retry after the interval in Retry-After."
}
}