curl --request POST \ --url https://api.egp.scale.com/v4/agents/execute \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "tools": [ { "name": "<string>", "description": "<string>", "arguments": { "type": "object", "properties": {}, "required": [ "<string>" ] } } ], "messages": [ { "content": "<string>", "role": "user" } ], "model_parameters": { "temperature": 0.2 }, "instructions": "You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly."}EOF
import requests
url = "https://api.egp.scale.com/v4/agents/execute"
payload = {
"tools": [
{
"name": "<string>",
"description": "<string>",
"arguments": {
"type": "object",
"properties": {},
"required": ["<string>"]
}
}
],
"messages": [
{
"content": "<string>",
"role": "user"
}
],
"model_parameters": { "temperature": 0.2 },
"instructions": "You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.
When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly."
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tools: [
{
name: '<string>',
description: '<string>',
arguments: {type: 'object', properties: {}, required: ['<string>']}
}
],
messages: [{content: '<string>', role: 'user'}],
model_parameters: {temperature: 0.2},
instructions: 'You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\'s most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool\'s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.'
})
};
fetch('https://api.egp.scale.com/v4/agents/execute', 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.egp.scale.com/v4/agents/execute",
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([
'tools' => [
[
'name' => '<string>',
'description' => '<string>',
'arguments' => [
'type' => 'object',
'properties' => [
],
'required' => [
'<string>'
]
]
]
],
'messages' => [
[
'content' => '<string>',
'role' => 'user'
]
],
'model_parameters' => [
'temperature' => 0.2
],
'instructions' => 'You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\'s most recent query to the best of your knowledge.
When asked about what tools are available, you must list each attached tool\'s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.'
]),
CURLOPT_HTTPHEADER => [
"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://api.egp.scale.com/v4/agents/execute"
payload := strings.NewReader("{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.egp.scale.com/v4/agents/execute")
.header("Content-Type", "application/json")
.body("{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v4/agents/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}"
response = http.request(request)
puts response.read_body
### Description
Executes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information.
### Details
An Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases.
An agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history.
#### Message Types
- `User Message`: A message from the user to the agent.
- `System Message`: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity.
- `Agent Message`: A message from the agent to the client. It will contain either a final answer as `content` or a request for the user to execute a tool as a `tool_request`.
- `Tool Message`: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request.
#### Agent Instructions
Instructions are used to guide the agent's decision making process and output generation.
Good prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.
For example, the default instructions we set for the agent are the following:
> You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.<br>
> When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.
### Restrictions and Limits
**Message Limits**:
- The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model's context limit, try using a memory strategy to condense the input messages.
**Model Restrictions**:
- Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.
POST
/
v4
/
agents
/
execute
Execute Agent
curl --request POST \ --url https://api.egp.scale.com/v4/agents/execute \ --header 'Content-Type: application/json' \ --data @- <<EOF{ "tools": [ { "name": "<string>", "description": "<string>", "arguments": { "type": "object", "properties": {}, "required": [ "<string>" ] } } ], "messages": [ { "content": "<string>", "role": "user" } ], "model_parameters": { "temperature": 0.2 }, "instructions": "You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly."}EOF
import requests
url = "https://api.egp.scale.com/v4/agents/execute"
payload = {
"tools": [
{
"name": "<string>",
"description": "<string>",
"arguments": {
"type": "object",
"properties": {},
"required": ["<string>"]
}
}
],
"messages": [
{
"content": "<string>",
"role": "user"
}
],
"model_parameters": { "temperature": 0.2 },
"instructions": "You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.
When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly."
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tools: [
{
name: '<string>',
description: '<string>',
arguments: {type: 'object', properties: {}, required: ['<string>']}
}
],
messages: [{content: '<string>', role: 'user'}],
model_parameters: {temperature: 0.2},
instructions: 'You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\'s most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool\'s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.'
})
};
fetch('https://api.egp.scale.com/v4/agents/execute', 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.egp.scale.com/v4/agents/execute",
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([
'tools' => [
[
'name' => '<string>',
'description' => '<string>',
'arguments' => [
'type' => 'object',
'properties' => [
],
'required' => [
'<string>'
]
]
]
],
'messages' => [
[
'content' => '<string>',
'role' => 'user'
]
],
'model_parameters' => [
'temperature' => 0.2
],
'instructions' => 'You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\'s most recent query to the best of your knowledge.
When asked about what tools are available, you must list each attached tool\'s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.'
]),
CURLOPT_HTTPHEADER => [
"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://api.egp.scale.com/v4/agents/execute"
payload := strings.NewReader("{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.egp.scale.com/v4/agents/execute")
.header("Content-Type", "application/json")
.body("{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v4/agents/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"tools\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"arguments\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": [\n \"<string>\"\n ]\n }\n }\n ],\n \"messages\": [\n {\n \"content\": \"<string>\",\n \"role\": \"user\"\n }\n ],\n \"model_parameters\": {\n \"temperature\": 0.2\n },\n \"instructions\": \"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\\n\\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\"\n}"
response = http.request(request)
puts response.read_body
The list of specs of tools that the agent can use. Each spec must contain a name key set to the name of the tool, a description key set to the description of the tool, and an arguments key set to a JSON Schema compliant object describing the tool arguments.
The name and description of each tool is used by the agent to decide when to use certain tools. Because some queries are complex and may require multiple tools to complete, it is important to make these descriptions as informative as possible. If a tool is not being chosen when it should, it is common practice to tune the description of the tool to make it more apparent to the agent when the tool can be used effectively.
The memory strategy to use for the agent. A memory strategy is a way to prevent the underlying LLM's context limit from being exceeded. Each memory strategy uses a different technique to condense the input message list into a smaller payload for the underlying LLM.
We only support the Last K memory strategy right now, but will be adding new strategies soon.
default:You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.
When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.
The initial instructions to provide to the agent.
Use this to guide the agent to act in more specific ways. For example, if you have specific rules you want to restrict the agent to follow you can specify them here. For example, if I want the agent to always use certain tools before others, I can write that rule in these instructions.
Good prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions here before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.
The context will contain a key for each action that the agent can perform. However, only the key corresponding to the action that the agent actually performed will have a populated value. The rest of the values will be null.
Context object containing the output payload. This will contain a key for all actions that the agent can perform. However, only the key corresponding to the action that the agent performed have a populated value. The rest of the values will be null.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scale AI","colors":{"primary":"#3f2e7b","light":"#ca62ff","dark":"#3f2e7b"},"logo":{"light":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b","dark":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/dark.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=02733f39d684d796ec742853eabf0de5"},"favicon":"https://mintcdn.com/scalegp/1vQnbXFkjbQbcgd1/favicon.png?fit=max\u0026auto=format\u0026n=1vQnbXFkjbQbcgd1\u0026q=85\u0026s=f52c84ba46a7cca58551673616dabe9c","background":{"decoration":"windows"},"navbar":{"links":[],"primary":{"type":"button","label":"Platform","href":"https://app.sgp.scale.com/"}},"footer":{"socials":{"x":"https://x.com/scale_ai","facebook":"https://www.facebook.com/scaleapi","linkedin":"https://www.linkedin.com/company/scaleai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scalegp","hasAudioNarration":false,"actualSubdomain":"scalegp","customDomains":["docs.gp.scale.com"],"gitSource":{"type":"github","owner":"scaleapi","repo":"sgp-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abeb90f3a8b8379c1eaf648","collectionId":"437f531c-55bf-41b5-8f5d-4e63781df61e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abeb90f3a8b8379c1eaf648"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6abeb90f3a8b8379c1eaf648","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":235},{"language":"default","tag":"AgentOps API","count":141},{"language":"default","tag":"Guides","count":131},{"language":"default","tag":"Agentex API","count":94},{"language":"default","tag":"Evaluations","count":72},{"language":"default","tag":"Dex API","count":48},{"language":"default","tag":"Agents","count":41},{"language":"default","tag":"Evaluation Datasets","count":34},{"language":"default","tag":"Models","count":32},{"language":"default","tag":"Knowledge Bases","count":31}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@font-face{font-family:'Aeonik';src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2);font-weight:400;font-style:normal;font-display:swap}h1,h2,h3{font-family:'aeonik';letter-spacing:normal!important}"}],"page":{"pagePath":"reference/agents/execute-agent","slug":"/reference/agents/execute-agent","pageMetadata":{"openapi":"post /v4/agents/execute","title":"Execute Agent","description":"### Description\nExecutes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information.\n\n### Details\nAn Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases.\n\nAn agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history.\n\n#### Message Types\n- `User Message`: A message from the user to the agent.\n- `System Message`: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity.\n- `Agent Message`: A message from the agent to the client. It will contain either a final answer as `content` or a request for the user to execute a tool as a `tool_request`.\n- `Tool Message`: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request.\n\n#### Agent Instructions\nInstructions are used to guide the agent's decision making process and output generation.\n\nGood prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.\n\nFor example, the default instructions we set for the agent are the following:\n\n> You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\u003cbr>\n> When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\n\n\n### Restrictions and Limits\n**Message Limits**:\n - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model's context limit, try using a memory strategy to condense the input messages.\n\n**Model Restrictions**:\n - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.","href":"/reference/agents/execute-agent"},"description":"### Description\nExecutes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information.\n\n### Details\nAn Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases.\n\nAn agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history.\n\n#### Message Types\n- `User Message`: A message from the user to the agent.\n- `System Message`: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity.\n- `Agent Message`: A message from the agent to the client. It will contain either a final answer as `content` or a request for the user to execute a tool as a `tool_request`.\n- `Tool Message`: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request.\n\n#### Agent Instructions\nInstructions are used to guide the agent's decision making process and output generation.\n\nGood prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.\n\nFor example, the default instructions we set for the agent are the following:\n\n> You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\u003cbr>\n> When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\n\n\n### Restrictions and Limits\n**Message Limits**:\n - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model's context limit, try using a memory strategy to condense the input messages.\n\n**Model Restrictions**:\n - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.","pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v4/agents/execute","title":"Execute Agent","description":"### Description\nExecutes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information.\n\n### Details\nAn Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases.\n\nAn agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history.\n\n#### Message Types\n- `User Message`: A message from the user to the agent.\n- `System Message`: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity.\n- `Agent Message`: A message from the agent to the client. It will contain either a final answer as `content` or a request for the user to execute a tool as a `tool_request`.\n- `Tool Message`: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request.\n\n#### Agent Instructions\nInstructions are used to guide the agent's decision making process and output generation.\n\nGood prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.\n\nFor example, the default instructions we set for the agent are the following:\n\n> You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\u003cbr>\n> When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\n\n\n### Restrictions and Limits\n**Message Limits**:\n - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model's context limit, try using a memory strategy to condense the input messages.\n\n**Model Restrictions**:\n - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.","href":"/reference/agents/execute-agent"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Agents"],"summary":"Execute Agent","description":"### Description\nExecutes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information.\n\n### Details\nAn Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases.\n\nAn agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history.\n\n#### Message Types\n- `User Message`: A message from the user to the agent.\n- `System Message`: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity.\n- `Agent Message`: A message from the agent to the client. It will contain either a final answer as `content` or a request for the user to execute a tool as a `tool_request`.\n- `Tool Message`: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request.\n\n#### Agent Instructions\nInstructions are used to guide the agent's decision making process and output generation.\n\nGood prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.\n\nFor example, the default instructions we set for the agent are the following:\n\n> You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\u003cbr>\n> When asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.\n\n\n### Restrictions and Limits\n**Message Limits**:\n - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model's context limit, try using a memory strategy to condense the input messages.\n\n**Model Restrictions**:\n - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.","operationId":"POST-V4-/v2/agents/execute","requestBody":"54b69621-5f23-43fb-9bab-354713660d93","responses":{"200":"d71e2d2e-a617-45ed-9902-84d68288cbcc","422":"2d9fd935-c102-451c-aae8-7940c77f237d"},"method":"post","type":"path","servers":["239d3ed0-e9a1-4424-90ea-9274ea35b5d0"],"security":[],"path":"/v4/agents/execute","baseUrlOptions":["https://api.egp.scale.com"],"title":"Execute Agent","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{"type":"string","enum":["gpt-4","gpt-4-0613","gpt-4-32k","gpt-4-32k-0613","gpt-3.5-turbo","gpt-3.5-turbo-0613","gpt-3.5-turbo-16k","gpt-3.5-turbo-16k-0613","claude-instant-1","claude-instant-1.1","claude-2","claude-2.0"],"title":"Model","description":"The ID of the model to use for the agent. We only support the models listed here so far.","isRequired":true,"uniqueKey":"model","typeLabel":"enum\u003cstring>"},"tools":{"items":{"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","title":"Name","description":"Name of the tool.\n\nA tool is a function that the _client application_ has at its disposal. The tool name is the name the client wishes the Agent to use to refer to this function when it decides if it wants the user to use the tool or not. Itmust be unique amongst the set of tools provided in a single API call.","isRequired":true,"uniqueKey":"tools.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","title":"Description","description":"Description of the tool.\n\nBecause some queries are complex and may require multiple tools to complete, it is important to make these descriptions as informative as possible. If a tool is not being chosen when it should, it is common practice to tune the description of the tool to make it more apparent to the agent when the tool can be used effectively.","isRequired":true,"uniqueKey":"tools.items.[INDEX].description","typeLabel":"string"},"arguments":{"properties":{"type":{"type":"string","const":"object","title":"Type","description":"Type of argument. Currently only \"object\" is supported","isRequired":true,"uniqueKey":"tools.items.[INDEX].arguments.type","typeLabel":"string"},"properties":{"additionalProperties":{"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array","null"],"title":"Type","description":"The argument's type.\n\nThe type is used to help the Agent generate valid arguments for the tool.\n\nFor more information about types, see: https://json-schema.org/understanding-json-schema/reference/type.html#type-specific-keywords","isRequired":true,"uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties.type","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","description":"Description of what the argument is used for.\n\nThis description is used to help the Agent generate sensible arguments for the tool. It is very important that this description is succinct, clear, and accurate.","isRequired":true,"uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties.description","typeLabel":"string"},"default":{"title":"Default","description":"A default value for the argument if unspecified.","type":"string","uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties.default","typeLabel":"string"},"examples":{"title":"Examples","description":"Example values demonstrating how the argument should look.\n\nThis can be used to help the agent understand what a valid argument should look like.","items":{"type":"string","uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties.examples.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties.examples","typeLabel":"string[]"}},"type":"object","required":["type","description"],"title":"property","uniqueKey":"tools.items.[INDEX].arguments.properties.additionalProperties","typeLabel":"property · object"},"type":"object","title":"Properties","description":"An object where each key is the name of a keyword argument and each value is a schema used to validate that property. Each schema must have a type and description, but can also have a default value and examples.\n\nFor more information on how to define a valid property, visit https://json-schema.org/understanding-json-schema/reference/object.html","uniqueKey":"tools.items.[INDEX].arguments.properties","typeLabel":"Properties · object"},"required":{"title":"Required","description":"List of required property names.","items":{"type":"string","uniqueKey":"tools.items.[INDEX].arguments.required.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"tools.items.[INDEX].arguments.required","typeLabel":"string[]"}},"type":"object","required":["type"],"title":"ToolArguments","description":"An JSON Schema-compliant schema for the tool arguments. To describe a function that accepts no parameters, provide the value `{\"type\": \"\"object\", \"properties\": {}}`.\n\nFor more information on how to define a valid JSON Schema object, visit https://json-schema.org/understanding-json-schema/reference/object.html","isRequired":true,"uniqueKey":"tools.items.[INDEX].arguments","typeLabel":"ToolArguments · object"}},"type":"object","required":["name","description","arguments"],"title":"Tool","uniqueKey":"tools.items.[INDEX]","typeLabel":"Tool · object"},"type":"array","title":"Tools","description":"The list of specs of tools that the agent can use. Each spec must contain a `name` key set to the name of the tool, a `description` key set to the description of the tool, and an `arguments` key set to a JSON Schema compliant object describing the tool arguments.\n\nThe name and description of each tool is used by the agent to decide when to use certain tools. Because some queries are complex and may require multiple tools to complete, it is important to make these descriptions as informative as possible. If a tool is not being chosen when it should, it is common practice to tune the description of the tool to make it more apparent to the agent when the tool can be used effectively.\n\n","isRequired":true,"uniqueKey":"tools","typeLabel":"Tool · object[]"},"messages":{"items":{"oneOf":[{"type":"object","title":"User Message","required":["content"],"properties":{"content":{"oneOf":[{"type":"string","title":"Content","description":"Input from the user. Can either be text or a list of content parts. Not all models support image content parts, or multiple parts.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"oneOf":[{"type":"object","title":"TextUserMessageContentParts","required":["text"],"properties":{"text":{"type":"string","title":"Text","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.0.text","typeLabel":"string"},"type":{"type":"string","const":"text","title":"Type","default":"text","uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.0","typeLabel":"TextUserMessageContentParts · object"},{"type":"object","title":"ImageUrlUserMessageContentParts","required":["image_url"],"properties":{"image_url":{"properties":{"url":{"type":"string","title":"Url","description":"The URL of the image. Note: only OpenAI supports this.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.1.image_url.url","typeLabel":"string"},"detail":{"title":"Detail","description":"Only used for OpenAI. Corresponds to OpenAI's image detail parameter.","type":"string","enum":["low","high","auto"],"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.1.image_url.detail","typeLabel":"enum\u003cstring>"}},"type":"object","required":["url"],"title":"ImageUrlSubPart","description":"Specifies the image URL and level of detail. Only supported by OpenAI models","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.1.image_url","typeLabel":"ImageUrlSubPart · object"},"type":{"type":"string","const":"image_url","title":"Type","default":"image_url","uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.1","typeLabel":"ImageUrlUserMessageContentParts · object"},{"type":"object","title":"ImageDataUserMessageContentParts","required":["image_data"],"properties":{"image_data":{"properties":{"media_type":{"type":"string","title":"Media Type","description":"The media/mime type of the image data. For example, 'image/png'. Check providers' documentation for supported media types.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.image_data.media_type","typeLabel":"string"},"data":{"type":"string","title":"Data","description":"The base64-encoded image data.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.image_data.data","typeLabel":"string"},"type":{"type":"string","const":"base64","title":"Type","description":"The type of the image data. Only base64 is supported.","default":"base64","uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.image_data.type","typeLabel":"string"},"detail":{"title":"Detail","description":"Only used for OpenAI. Corresponds to OpenAI's image detail parameter.","type":"string","enum":["low","high","auto"],"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.image_data.detail","typeLabel":"enum\u003cstring>"}},"type":"object","required":["media_type","data"],"title":"ImageDataSubPart","description":"Specifies inline image data","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.image_data","typeLabel":"ImageDataSubPart · object"},"type":{"type":"string","const":"image_data","title":"Type","default":"image_data","uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX].oneOf.2","typeLabel":"ImageDataUserMessageContentParts · object"}],"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1.items.[INDEX]","typeLabel":"TextUserMessageContentParts · object | ImageUrlUserMessageContentParts · object | ImageDataUserMessageContentParts · object"},"title":"Content","description":"Input from the user. Can either be text or a list of content parts. Not all models support image content parts, or multiple parts.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content.oneOf.1","typeLabel":"(TextUserMessageContentParts · object | ImageUrlUserMessageContentParts · object | ImageDataUserMessageContentParts · object)[]"}],"isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.0.content","typeLabel":"string | (TextUserMessageContentParts · object | ImageUrlUserMessageContentParts · object | ImageDataUserMessageContentParts · object)[]"},"role":{"type":"string","const":"user","title":"Role","description":"The role of the message. Must be set to 'user'.\n\nA user message is a message from the user to the AI. This should be the message used to send end user input to the AI.","default":"user","uniqueKey":"messages.items.[INDEX].oneOf.0.role","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.0","typeLabel":"User Message · object"},{"type":"object","title":"Tool Message","required":["name","content"],"properties":{"name":{"type":"string","title":"Name","description":"Name of the tool","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.1.name","typeLabel":"string"},"content":{"type":"string","title":"Content","description":"Text output from the tool","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.1.content","typeLabel":"string"},"role":{"type":"string","const":"tool","title":"Role","description":"The role of the message. Must be set to 'tool'.\n\nA tool message is a message the client application uses to send tool output to the AI. It should contain the name of the tool and the output from the tool encoded as text.","default":"tool","uniqueKey":"messages.items.[INDEX].oneOf.1.role","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.1","typeLabel":"Tool Message · object"},{"type":"object","title":"Agent Message","properties":{"role":{"type":"string","const":"agent","title":"Role","description":"The role of the message. Must be set to 'agent'.\n\nAn agent message is a message generated by an AI agent. It is different than an assistant message in that it can either contain a direct content output or a tool request that the client application must handle.","default":"agent","uniqueKey":"messages.items.[INDEX].oneOf.2.role","typeLabel":"string"},"content":{"title":"Content","description":"Text output of the agent if no more tools are needed.","type":"string","uniqueKey":"messages.items.[INDEX].oneOf.2.content","typeLabel":"string"},"tool_request":{"properties":{"name":{"type":"string","title":"Name","description":"Name of the tool that the AI wants the client to use.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.2.tool_request.name","typeLabel":"string"},"arguments":{"type":"string","title":"Arguments","description":"Arguments to pass to the tool. The format must be a JSON Schema-compliant object serialized into a string.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.2.tool_request.arguments","typeLabel":"string"}},"type":"object","required":["name","arguments"],"title":"ToolRequest","description":"The tool request if the agent needs more information.","uniqueKey":"messages.items.[INDEX].oneOf.2.tool_request","typeLabel":"ToolRequest · object"}},"uniqueKey":"messages.items.[INDEX].oneOf.2","typeLabel":"Agent Message · object"},{"type":"object","title":"System Message","required":["content"],"properties":{"content":{"type":"string","title":"Content","description":"Text input from the system.","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.3.content","typeLabel":"string"},"role":{"type":"string","const":"system","title":"Role","description":"The role of the message. Must be set to 'system'.\n\nA system message is different from other messages in that it does not originate from a party engaged in a user/AI conversation. Instead, it is a message that is injected by either the application or system to guide the conversation. For example, a system message may be used as initial instructions for an AI entity or to tell the AI that it did not do something correctly.","default":"system","uniqueKey":"messages.items.[INDEX].oneOf.3.role","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.3","typeLabel":"System Message · object"},{"type":"object","title":"Assistant Message","required":["content"],"properties":{"content":{"type":"string","title":"Content","description":"Text response from the assistant","isRequired":true,"uniqueKey":"messages.items.[INDEX].oneOf.4.content","typeLabel":"string"},"role":{"type":"string","const":"assistant","title":"Role","description":"The role of the message. Must be set to 'assistant'.\n\nAn assistant message is a message from the AI to the client. It is different from an agent message in that it cannot contain a tool request. It is simply a direct response from the AI to the client.","default":"assistant","uniqueKey":"messages.items.[INDEX].oneOf.4.role","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].oneOf.4","typeLabel":"Assistant Message · object"}],"uniqueKey":"messages.items.[INDEX]","typeLabel":"User Message · object | Tool Message · object | Agent Message · object | System Message · object | Assistant Message · object"},"type":"array","title":"Messages","description":"The list of messages in the conversation.\n\nExpand each message type to see how it works and when to use it. Most conversations should begin with a single `user` message.","isRequired":true,"uniqueKey":"messages","typeLabel":"(User Message · object | Tool Message · object | Agent Message · object | System Message · object | Assistant Message · object)[]"},"memory_strategy":{"properties":{"params":{"properties":{"k":{"type":"integer","minimum":1,"title":"K","description":"The maximum number of previous messages to remember.","isRequired":true,"uniqueKey":"memory_strategy.params.k","typeLabel":"integer"}},"type":"object","required":["k"],"title":"LastKMemoryStrategyParams","description":"Configuration parameters for the memory strategy.","isRequired":true,"uniqueKey":"memory_strategy.params","typeLabel":"LastKMemoryStrategyParams · object"},"name":{"type":"string","const":"last_k","title":"Name","description":"Name of the memory strategy. Must be `last_k`.\n\nThis strategy truncates the message history to the last `k` messages. It is the simplest way to prevent the model's context limit from being exceeded. However, this strategy only allows the model to have short term memory. For longer term memory, please use one of the other strategies.","default":"last_k","uniqueKey":"memory_strategy.name","typeLabel":"string"}},"type":"object","required":["params"],"title":"MemoryStrategy","description":"The memory strategy to use for the agent. A memory strategy is a way to prevent the underlying LLM's context limit from being exceeded. Each memory strategy uses a different technique to condense the input message list into a smaller payload for the underlying LLM.\n\nWe only support the Last K memory strategy right now, but will be adding new strategies soon.","uniqueKey":"memory_strategy","typeLabel":"MemoryStrategy · object"},"model_parameters":{"properties":{"temperature":{"title":"Temperature","description":"What sampling temperature to use, between [0, 1]. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. Setting temperature=0.0 will enable fully deterministic (greedy) sampling. Temperature is ignored for OpenAI reasoning models.","default":0.2,"type":"number","maximum":1,"minimum":0,"uniqueKey":"model_parameters.temperature","typeLabel":"number"},"stop_sequences":{"title":"Stop Sequences","description":"List of up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.","items":{"type":"string","uniqueKey":"model_parameters.stop_sequences.items.[INDEX]","typeLabel":"string"},"type":"array","maxItems":4,"uniqueKey":"model_parameters.stop_sequences","typeLabel":"string[]"},"max_tokens":{"title":"Max Tokens","description":"The maximum number of tokens to generate in the completion. The token count of your prompt plus max_tokens cannot exceed the model's context length. If not, specified, max_tokens will be determined based on the model used: \n| Model API family | Model API default | EGP applied default |\n| --- | --- | --- |\n| OpenAI Completions | [`16`](https://platform.openai.com/docs/api-reference/completions/create#max_tokens) | `context window - prompt size` |\n| OpenAI Chat Completions | [`context window - prompt size`](https://platform.openai.com/docs/api-reference/chat/create#max_tokens) | `context window - prompt size` |\n| LLM Engine | [`max_new_tokens`](https://github.com/scaleapi/launch-python-client/blob/207adced1c88c1c2907266fa9dd1f1ff3ec0ea5b/launch/client.py#L2910) parameter is required | `100` |\n| Anthropic Claude 2 | [`max_tokens_to_sample`](https://docs.anthropic.com/claude/reference/complete_post) parameter is required | `10000` |\n","type":"integer","uniqueKey":"model_parameters.max_tokens","typeLabel":"integer"},"topP":{"title":"Topp","description":"The cumulative probability cutoff for token selection. Lower values mean sampling from a smaller, more top-weighted nucleus. Available for models from Anthropic, Google, Mistral, LLM Engine, and OpenAI.","type":"number","uniqueKey":"model_parameters.topP","typeLabel":"number"},"topK":{"title":"Topk","description":"Sample from the k most likely next tokens at each step. Lower k focuses on higher probability tokens. Available for models from Anthropic, Google, and LLM Engine.","type":"integer","uniqueKey":"model_parameters.topK","typeLabel":"integer"},"frequency_penalty":{"title":"Frequency Penalty","description":"Penalize tokens based on how much they have already appeared in the text. Positive values encourage the model to generate new tokens and negative values encourage the model to repeat tokens. Available for models from LLM Engine, and OpenAI","type":"number","uniqueKey":"model_parameters.frequency_penalty","typeLabel":"number"},"presence_penalty":{"title":"Presence Penalty","description":"Penalize tokens based on if they have already appeared in the text. Positive values encourage the model to generate new tokens and negative values encourage the model to repeat tokens. Available for models from LLM Engine, and OpenAI.","type":"number","uniqueKey":"model_parameters.presence_penalty","typeLabel":"number"},"reasoning_effort":{"title":"Reasoning Effort","description":"The effort level for the model to reason. Available for models from OpenAI.","type":"string","enum":["low","medium","high"],"uniqueKey":"model_parameters.reasoning_effort","typeLabel":"enum\u003cstring>"}},"type":"object","title":"ModelParameters","description":"Configuration parameters for the agent model, such as temperature, max_tokens, and stop_sequences.\n\nIf not specified, the default value are:\n- temperature: 0.2\n- max_tokens: None (limited by the model's max tokens)\n- stop_sequences: None","default":{"temperature":0.2},"uniqueKey":"model_parameters","typeLabel":"ModelParameters · object"},"instructions":{"title":"Instructions","description":"The initial instructions to provide to the agent.\n\nUse this to guide the agent to act in more specific ways. For example, if you have specific rules you want to restrict the agent to follow you can specify them here. For example, if I want the agent to always use certain tools before others, I can write that rule in these instructions.\n\nGood prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions here before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM.","default":"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly.","type":"string","uniqueKey":"instructions","typeLabel":"string"}},"type":"object","required":["model","tools","messages"],"title":"ExecuteAgentRequest","uniqueKey":"","typeLabel":"ExecuteAgentRequest · object"},"examples":{"Example":{"title":"Example","value":{"tools":[{"name":"\u003cstring>","description":"\u003cstring>","arguments":{"type":"object","properties":{},"required":["\u003cstring>"]}}],"messages":[{"content":"\u003cstring>","role":"user"}],"model_parameters":{"temperature":0.2},"instructions":"You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user's most recent query to the best of your knowledge.\n\nWhen asked about what tools are available, you must list each attached tool's name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly."}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"d71e2d2e-a617-45ed-9902-84d68288cbcc":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"action":{"type":"string","enum":["tool_request","content"],"title":"AgentAction","description":"The action that the agent performed.\n\nThe context will contain a key for each action that the agent can perform. However, only the key corresponding to the action that the agent actually performed will have a populated value. The rest of the values will be `null`.","isRequired":true,"uniqueKey":"action","typeLabel":"enum\u003cstring>"},"context":{"properties":{"content":{"title":"Content","description":"The final output of the agent when it no longer needs any tools","type":"string","uniqueKey":"context.content","typeLabel":"string"},"tool_request":{"properties":{"name":{"type":"string","title":"Name","description":"Name of the tool that the AI wants the client to use.","isRequired":true,"uniqueKey":"context.tool_request.name","typeLabel":"string"},"arguments":{"type":"string","title":"Arguments","description":"Arguments to pass to the tool. The format must be a JSON Schema-compliant object serialized into a string.","isRequired":true,"uniqueKey":"context.tool_request.arguments","typeLabel":"string"}},"type":"object","required":["name","arguments"],"title":"ToolRequest","description":"The tool request if the agent needs more information.","uniqueKey":"context.tool_request","typeLabel":"ToolRequest · object"}},"type":"object","title":"ActionContext","description":"Context object containing the output payload. This will contain a key for all actions that the agent can perform. However, only the key corresponding to the action that the agent performed have a populated value. The rest of the values will be `null`.","isRequired":true,"uniqueKey":"context","typeLabel":"ActionContext · object"}},"type":"object","required":["action","context"],"title":"ExecuteAgentResponse","uniqueKey":"","typeLabel":"ExecuteAgentResponse · object"},"examples":{"Example":{"title":"Example","value":{"action":"tool_request","context":{"content":"\u003cstring>","tool_request":{"name":"\u003cstring>","arguments":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"2d9fd935-c102-451c-aae8-7940c77f237d":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","additionalProperties":true,"uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"239d3ed0-e9a1-4424-90ea-9274ea35b5d0":{"url":"https://api.egp.scale.com"}}},"originalFileLocation":"https://api.sgp.scale.com/openapi-versions/v4/openapi.json"},"subdomain":"scalegp","siteName":"Scale AI","title":"Execute Agent - Scale AI","navMaps":{"firstHrefInVersion":{"V5":{"href":"/reference/agents/execute-agent","matchLevel":0},"V4 (legacy)":{"href":"/home","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T23:53:44.787Z","originalFileLocation":"reference/agents/execute-agent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"### Description Executes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information. ### Details An Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases. An agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history. #### Message Types - User Message: A message from the user to the agent. - System Message: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity. - Agent Message: A message from the agent to the client. It will contain either a final answer as content or a request for the user to execute a tool as a tool_request. - Tool Message: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request. #### Agent Instructions Instructions are used to guide the agent\u0026#x27;s decision making process and output generation. Good prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM. For example, the default instructions we set for the agent are the following: \u0026gt; You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\u0026#x27;s most recent query to the best of your knowledge. \u0026gt; When asked about what tools are available, you must list each attached tool\u0026#x27;s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly. ### Restrictions and Limits Message Limits: - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model\u0026#x27;s context limit, try using a memory strategy to condense the input messages. Model Restrictions: - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Execute Agent - Scale AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"### Description Executes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information. ### Details An Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases. An agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history. #### Message Types - User Message: A message from the user to the agent. - System Message: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity. - Agent Message: A message from the agent to the client. It will contain either a final answer as content or a request for the user to execute a tool as a tool_request. - Tool Message: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request. #### Agent Instructions Instructions are used to guide the agent\u0026#x27;s decision making process and output generation. Good prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM. For example, the default instructions we set for the agent are the following: \u0026gt; You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\u0026#x27;s most recent query to the best of your knowledge. \u0026gt; When asked about what tools are available, you must list each attached tool\u0026#x27;s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly. ### Restrictions and Limits Message Limits: - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model\u0026#x27;s context limit, try using a memory strategy to condense the input messages. Model Restrictions: - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scale AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gp.scale.com/reference/agents/execute-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scalegp.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Execute+Agent\u0026amp;description=%23%23%23+Description%0AExecutes+one+Agent+inference+step.+Given+a+list+of+messages+and+a+list+of+tools+to+ask+++++++++for+help+from%2C+the+Agent+will+either+respond+with\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=882b92dd05c2abbb11d56509577199eada3f220cbb5ed2a967e7b863818d8ab1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Execute Agent - Scale AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"### Description Executes one Agent inference step. Given a list of messages and a list of tools to ask for help from, the Agent will either respond with a final answer directly or ask the user to execute a tool to provide more information. ### Details An Agent is a component that utilizes a Language Model (LLM) as an interpreter and decision maker. Unlike asking an LLM for a direct response, communicating with an agent consists of a running dialogue where an agent can optionally ask the user to execute specialized tools for specific tasks, such as calculations, web searches, or accessing custom data from private knowledge bases. An agent is designed to be stateless, emitting outputs one step at a time. This means that client-side applications are responsible for managing message history, tool execution, and responses. This grants users greater flexibility to write and execute custom tools and maintain explicit control over their message history. #### Message Types - User Message: A message from the user to the agent. - System Message: An informational text message from the system to guide the agent. It is not a user message or agent message because it did not come from either entity. - Agent Message: A message from the agent to the client. It will contain either a final answer as content or a request for the user to execute a tool as a tool_request. - Tool Message: A message from the user to the agent that contains the output of a tool execution. The tool message will be processed by the agent and the agent will respond with either a final answer or another tool request. #### Agent Instructions Instructions are used to guide the agent\u0026#x27;s decision making process and output generation. Good prompt engineering is crucial to getting performant results from the agent. If you are having trouble getting the agent to perform well, try writing more specific instructions before trying more expensive techniques such as swapping in other models or finetuning the underlying LLM. For example, the default instructions we set for the agent are the following: \u0026gt; You are an AI assistant that helps users with their questions. You can answer questions directly or acquire information from any of the attached tools to assist you. Always answer the user\u0026#x27;s most recent query to the best of your knowledge. \u0026gt; When asked about what tools are available, you must list each attached tool\u0026#x27;s name and description. When asked about what you can do, mention that in addition to your normal capabilities, you can also use the attached tools by listing their names and descriptions. You cannot use any other tools other than the ones provided to you explicitly. ### Restrictions and Limits Message Limits: - The message list is not limited by length, but by the context limit of the underlying language model. If you are getting an error regarding the underlying model\u0026#x27;s context limit, try using a memory strategy to condense the input messages. Model Restrictions: - Currently, only closed source models like GPT and Claude are supported due to the limitations of open source models when it comes to tool selection, generating tool arguments in valid JSON, and planning out multi-step tool execution. Specialized fine-tuning will likely be required to make open source models compatible with agents.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scalegp.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Execute+Agent\u0026amp;description=%23%23%23+Description%0AExecutes+one+Agent+inference+step.+Given+a+list+of+messages+and+a+list+of+tools+to+ask+++++++++for+help+from%2C+the+Agent+will+either+respond+with\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=882b92dd05c2abbb11d56509577199eada3f220cbb5ed2a967e7b863818d8ab1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f2e7b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gp.scale.com/reference/agents/execute-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/agents/execute-agent.md\">","siteName":"Scale AI","nav":{"global":null,"versions":[{"version":"V5","tabs":[{"tab":"Guides","groups":[{"group":"Overview","pages":[{"title":"SGP Overview","href":"/docs/v5/overview"}]},{"group":"Getting Started","pages":[{"title":"Authentication","href":"/docs/v5/authentication"},{"title":"Quick Start - AgentOps SDK","href":"/docs/v5/next-gen-evaluation/getting-started"}]},{"group":"Infrastructure","pages":[{"group":"AWS Infrastructure","pages":[{"title":"AWS SGP Deployment","href":"/docs/infrastructure/aws/aws-sgp-deployment"},{"title":"AWS Architecture Reference","href":"/docs/infrastructure/aws/aws-architecture-reference"}]},{"group":"Azure Infrastructure","pages":[{"title":"Azure SGP Deployment","href":"/docs/infrastructure/azure/azure-sgp-deployment"},{"title":"Azure Architecture Reference","href":"/docs/infrastructure/azure/azure-architecture-reference"}]},{"group":"GCP Infrastructure","pages":[{"title":"GCP SGP Deployment","href":"/docs/infrastructure/gcp/gcp-sgp-deployment"},{"title":"GCP Architecture Reference","href":"/docs/infrastructure/gcp/gcp-architecture-reference"}]},{"title":"System Manager","href":"/docs/infrastructure/system-manager"}]},{"group":"Evaluations","pages":[{"title":"Introduction to Next Gen Evals","href":"/docs/v5/next-gen-evaluation/overview"},{"group":"Task Types","pages":[{"title":"Auto Evaluation","href":"/docs/v5/next-gen-evaluation/tasks/auto-evaluation"},{"title":"Agent Evaluation","href":"/docs/v5/next-gen-evaluation/tasks/agent-evaluation"},{"title":"Agentex Evaluation","href":"/docs/v5/next-gen-evaluation/tasks/agentex-evaluation"},{"title":"Contributor Evaluation","href":"/docs/v5/next-gen-evaluation/tasks/contributor-evaluation"},{"title":"Custom Function Evaluation","href":"/docs/v5/next-gen-evaluation/tasks/custom-function"}]},{"group":"Evaluations in the UI","pages":[{"title":"LLM as a Judge","href":"/docs/v5/next-gen-evaluation/ui-evaluations/auto-evaluation"},{"title":"Agent as a Judge","href":"/docs/v5/next-gen-evaluation/ui-evaluations/agent-evaluation"},{"title":"Agentex Agent Output","href":"/docs/v5/next-gen-evaluation/ui-evaluations/agentex-evaluation"},{"title":"Contributor Evaluation","href":"/docs/v5/next-gen-evaluation/ui-evaluations/contributor-evaluation"}]},{"title":"Conditional Rubrics","href":"/docs/v5/next-gen-evaluation/conditional-rubrics"},{"title":"Voice Evaluations","href":"/docs/v5/next-gen-evaluation/voice-evaluations"},{"group":"Completing Contributor Evaluations","pages":[{"title":"Managing Contributor Evaluations","href":"/docs/v5/next-gen-evaluation/labeling-evaluations/managing-contributor-evaluations"},{"title":"Labeling Evaluations","href":"/docs/v5/next-gen-evaluation/labeling-evaluations/labeling-evaluations"},{"title":"Auditing Evaluations","href":"/docs/v5/next-gen-evaluation/labeling-evaluations/auditing-evaluations"},{"title":"Contributor and Auditor Metrics","href":"/docs/v5/next-gen-evaluation/labeling-evaluations/contributor-auditor-metrics"}]}]},{"group":"Evaluation Dashboards","pages":[{"title":"Introduction to Evaluation Dashboards","href":"/docs/v5/evaluation-dashboards/overview"},{"title":"Getting Started with Dashboards","href":"/docs/v5/evaluation-dashboards/getting-started"},{"group":"Evaluation Groups","pages":[{"title":"Evaluation Group Dashboards","href":"/docs/v5/evaluation-dashboards/eval-group-dashboards"},{"title":"Latest Snapshots","href":"/docs/v5/evaluation-dashboards/eval-group-latest-snapshots"}]},{"group":"Widget Types","pages":[{"title":"Widget Types Overview","href":"/docs/v5/evaluation-dashboards/widget-types/overview"},{"title":"Metric Widget","href":"/docs/v5/evaluation-dashboards/widget-types/metric"},{"title":"Table Widget","href":"/docs/v5/evaluation-dashboards/widget-types/table"},{"title":"Bar Chart Widget","href":"/docs/v5/evaluation-dashboards/widget-types/bar"},{"title":"Histogram Widget","href":"/docs/v5/evaluation-dashboards/widget-types/histogram"},{"title":"Donut Chart Widget","href":"/docs/v5/evaluation-dashboards/widget-types/donut"},{"title":"Scatter Plot Widget","href":"/docs/v5/evaluation-dashboards/widget-types/scatter"},{"title":"Timeseries Widget","href":"/docs/v5/evaluation-dashboards/widget-types/timeseries"},{"title":"Markdown Widget","href":"/docs/v5/evaluation-dashboards/widget-types/markdown"},{"title":"Heading Widget","href":"/docs/v5/evaluation-dashboards/widget-types/heading"}]},{"title":"Query Language Reference","href":"/docs/v5/evaluation-dashboards/query-language"}]},{"group":"Tracing","pages":[{"title":"Introduction to Tracing","href":"/docs/v5/tracing/overview"},{"group":"Tracing SDK (Python)","pages":[{"title":"Initialization","href":"/docs/v5/tracing/sdk/initialization"},{"title":"Creating Traces and Spans","href":"/docs/v5/tracing/sdk/creating-traces-spans"},{"title":"Helper Methods","href":"/docs/v5/tracing/sdk/helper-methods"},{"title":"Flushing Tracing Data","href":"/docs/v5/tracing/sdk/flushing-data"},{"title":"Configuration Options","href":"/docs/v5/tracing/sdk/configuration-options"},{"title":"Distributed Tracing","href":"/docs/v5/tracing/sdk/multi-process"}]},{"group":"Integrations","pages":[{"group":"Agentex","pages":[{"title":"Agentex Tracing Overview","href":"/docs/v5/tracing/integrations/agentex/overview"},{"title":"Built-in Tracing Providers","href":"/docs/v5/tracing/integrations/agentex/built-in-providers"},{"title":"Span Hierarchy \u0026 Best Practices","href":"/docs/v5/tracing/integrations/agentex/span-hierarchy"},{"title":"Multi-Agent Tracing","href":"/docs/v5/tracing/integrations/agentex/multi-agent-tracing"}]},{"title":"OpenAI Agents Integration","href":"/docs/v5/tracing/integrations/openai-agents"},{"title":"OpenTelemetry Integration","href":"/docs/v5/tracing/integrations/opentelemetry"},{"title":"Temporal Integration","href":"/docs/v5/tracing/integrations/temporal"}]},{"group":"Tracing in the UI","pages":[{"title":"Traces","href":"/docs/v5/tracing/tracing-ui/traces-table"},{"title":"Profiler","href":"/docs/v5/tracing/tracing-ui/profiler"},{"title":"Trace Detail View","href":"/docs/v5/tracing/tracing-ui/trace-detail-view"}]}]},{"group":"Agents","pages":[{"title":"Introduction to Agents","href":"/docs/v5/agents/overview"},{"group":"Agentex","pages":[{"title":"Introduction to Agentex","href":"/docs/v5/agents/agentex/overview"},{"title":"Agentex CI/CD","href":"/docs/v5/agents/agentex/agentex-monitoring"},{"group":"Cloud Build and Deploy","pages":[{"title":"Cloud Build and Deploy","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/overview"},{"title":"UI Walkthrough","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/ui-walkthrough"},{"title":"CI/CD with Gitea Actions","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/ci-cd"},{"title":"sgpctl CLI","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/sgpctl"},{"title":"API and SDK","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/api"},{"title":"Secrets","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/secrets"},{"title":"Preview Deployments","href":"/docs/v5/agents/agentex/cloud-build-and-deploy/preview-deployments"}]},{"group":"Agentex Types","pages":[{"title":"Sync Agent","href":"/docs/v5/agents/agentex/types/sync-agent"},{"title":"Agentic Agent","href":"/docs/v5/agents/agentex/types/agentic-agent"}]}]},{"group":"Agent Service","pages":[{"title":"Introduction to Agent Service","href":"/docs/v5/agents/agent-service/overview"},{"group":"Lifecycle","pages":[{"title":"Creating an Agent","href":"/docs/v5/agents/agent-service/lifecycle/creating-agent-service-agents"},{"title":"Deploying an Agent","href":"/docs/v5/agents/agent-service/lifecycle/deploying-agent-service-agents"},{"title":"Monitoring an Agent","href":"/docs/v5/agents/agent-service/lifecycle/monitoring-agent-service-agents"}]}]}]}]},{"tab":"AgentOps API","groups":[{"group":"Inference","pages":[{"title":"Run inference with free-form payload","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/inference","href":"/reference/v5/inference/run-inference-with-free-form-payload"},{"title":"Generate OpenAI chat completion from messages","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/chat/completions","href":"/reference/v5/inference/generate-openai-chat-completion-from-messages"},{"title":"Run OpenAI Responses API (OpenAI only)","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/responses","href":"/reference/v5/inference/run-openai-responses-api-openai-only"},{"title":"Generate legacy text completion from prompt","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/completions","href":"/reference/v5/inference/generate-legacy-text-completion-from-prompt"},{"title":"List available chat completion models","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/chat/completions/models","href":"/reference/v5/inference/list-available-chat-completion-models"}]},{"group":"Questions","pages":[{"title":"List questions","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/questions","href":"/reference/v5/questions/list-questions"},{"title":"Create a question","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/questions","href":"/reference/v5/questions/create-a-question"},{"title":"Get a question","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/questions/{question_id}","href":"/reference/v5/questions/get-a-question"},{"title":"Archive a question","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/questions/{question_id}","href":"/reference/v5/questions/archive-a-question"},{"title":"Update a question","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/questions/{question_id}","href":"/reference/v5/questions/update-a-question"},{"title":"Restore an archived question","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/questions/{question_id}/restore","href":"/reference/v5/questions/restore-an-archived-question"}]},{"group":"Rubrics","pages":[{"title":"List rubrics","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/rubrics","href":"/reference/v5/rubrics/list-rubrics"},{"title":"Create a rubric","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/rubrics","href":"/reference/v5/rubrics/create-a-rubric"},{"title":"Get a rubric","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/get-a-rubric"},{"title":"Archive a rubric","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/archive-a-rubric"},{"title":"Update or restore a rubric","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/update-or-restore-a-rubric"},{"title":"Add a criterion to a rubric","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/rubrics/{rubric_id}/criteria","href":"/reference/v5/rubrics/add-a-criterion-to-a-rubric"},{"title":"Update a criterion","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/rubrics/{rubric_id}/criteria/{rubric_criteria_id}","href":"/reference/v5/rubrics/update-a-criterion"},{"title":"List criterion versions","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/rubrics/{rubric_id}/criteria/{rubric_criteria_id}/versions","href":"/reference/v5/rubrics/list-criterion-versions"}]},{"group":"Vector Stores","pages":[{"title":"List Vector Stores","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/vector-stores","href":"/reference/v5/vector-stores/list-vector-stores"},{"title":"Create Vector Store","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/create","href":"/reference/v5/vector-stores/create-vector-store"},{"title":"Get Vector Store","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/vector-stores/{vector_store_name}","href":"/reference/v5/vector-stores/get-vector-store"},{"title":"Configure Vector Store","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/configure","href":"/reference/v5/vector-stores/configure-vector-store"},{"title":"Drop Vector Store","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/drop","href":"/reference/v5/vector-stores/drop-vector-store"},{"title":"Upsert Vectors","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/upsert","href":"/reference/v5/vector-stores/upsert-vectors"},{"title":"Delete Vectors","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/delete","href":"/reference/v5/vector-stores/delete-vectors"},{"title":"List Vectors","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/vector-stores/{vector_store_name}/vectors","href":"/reference/v5/vector-stores/list-vectors"},{"title":"Get Vector","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/vector-stores/{vector_store_name}/vectors/{vector_id}","href":"/reference/v5/vector-stores/get-vector"},{"title":"Count Vectors","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/count","href":"/reference/v5/vector-stores/count-vectors"},{"title":"Query Vectors","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/vector-stores/{vector_store_name}/query","href":"/reference/v5/vector-stores/query-vectors"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/files","href":"/reference/v5/files/list-files"},{"title":"Upload a file","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/files","href":"/reference/v5/files/upload-a-file"},{"title":"Import files from cloud storage","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/files/cloud_imports","href":"/reference/v5/files/import-files-from-cloud-storage"},{"title":"Get file metadata","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/files/{file_id}","href":"/reference/v5/files/get-file-metadata"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/files/{file_id}","href":"/reference/v5/files/delete-a-file"},{"title":"Update a file","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/files/{file_id}","href":"/reference/v5/files/update-a-file"},{"title":"Download file content","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/files/{file_id}/content","href":"/reference/v5/files/download-file-content"}]},{"group":"Models","pages":[{"title":"List custom models","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/models","href":"/reference/v5/models/list-custom-models"},{"title":"Create a custom model","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/models","href":"/reference/v5/models/create-a-custom-model"},{"title":"Get a custom model","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/models/{model_id}","href":"/reference/v5/models/get-a-custom-model"},{"title":"Delete a custom model","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/models/{model_id}","href":"/reference/v5/models/delete-a-custom-model"},{"title":"Update a custom model","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/models/{model_id}","href":"/reference/v5/models/update-a-custom-model"}]},{"group":"Agent Configs","pages":[{"title":"List Agent Configs","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agent_configs","href":"/reference/v5/agent-configs/list-agent-configs"},{"title":"Create Agent Config","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/agent_configs","href":"/reference/v5/agent-configs/create-agent-config"},{"title":"List MCP Tool Names","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agent_configs/mcp_tools","href":"/reference/v5/agent-configs/list-mcp-tool-names"},{"title":"Get Agent Config","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/get-agent-config"},{"title":"Delete Agent Config (hard delete)","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/delete-agent-config-hard-delete"},{"title":"Update Agent Config","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/update-agent-config"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/datasets","href":"/reference/v5/datasets/list-datasets"},{"title":"Create a dataset","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/datasets","href":"/reference/v5/datasets/create-a-dataset"},{"title":"Get a dataset","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/get-a-dataset"},{"title":"Archive a dataset","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/archive-a-dataset"},{"title":"Update or restore a dataset","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/update-or-restore-a-dataset"}]},{"group":"Dataset Items","pages":[{"title":"Add items to an existing dataset","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/dataset-items/batch","href":"/reference/v5/dataset-items/add-items-to-an-existing-dataset"},{"title":"Get a dataset item","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/get-a-dataset-item"},{"title":"Delete a dataset item","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/delete-a-dataset-item"},{"title":"Update a dataset item","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/update-a-dataset-item"},{"title":"List dataset items","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/dataset-items","href":"/reference/v5/dataset-items/list-dataset-items"}]},{"group":"Evaluations","pages":[{"title":"List Evaluations","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations","href":"/reference/v5/evaluations/list-evaluations"},{"title":"Create Evaluation","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluations","href":"/reference/v5/evaluations/create-evaluation"},{"title":"Get Evaluation","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/get-evaluation"},{"title":"Archive Evaluation","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/archive-evaluation"},{"title":"Update or Restore Evaluation","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/update-or-restore-evaluation"},{"title":"Add Test Criteria to Evaluation","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluations/{evaluation_id}/tasks","href":"/reference/v5/evaluations/add-test-criteria-to-evaluation"},{"title":"Update Test Criteria Configuration","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluations/{evaluation_id}/tasks/{alias}","href":"/reference/v5/evaluations/update-test-criteria-configuration"},{"title":"Get Available Metadata Keys","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations/metadata-keys","href":"/reference/v5/evaluations/get-available-metadata-keys"},{"title":"Get Available Evaluation Statuses","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations/statuses","href":"/reference/v5/evaluations/get-available-evaluation-statuses"},{"title":"Get Evaluation Data Schema","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations/{evaluation_id}/schema","href":"/reference/v5/evaluations/get-evaluation-data-schema"},{"title":"Get Evaluation Taxonomy","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluations/{evaluation_id}/taxonomy","href":"/reference/v5/evaluations/get-evaluation-taxonomy"},{"title":"Filter Evaluations","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluations/filter","href":"/reference/v5/evaluations/filter-evaluations"},{"title":"Dry-run a custom-function evaluation task","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluations/tasks/dry-run","href":"/reference/v5/evaluations/dry-run-a-custom-function-evaluation-task"}]},{"group":"Evaluation Groups","pages":[{"title":"List Evaluation Groups","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-groups","href":"/reference/v5/evaluation-groups/list-evaluation-groups"},{"title":"Create Evaluation Group","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluation-groups","href":"/reference/v5/evaluation-groups/create-evaluation-group"},{"title":"Get Evaluation Group","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/get-evaluation-group"},{"title":"Update Evaluation Group","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json put /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/update-evaluation-group"},{"title":"Archive Evaluation Group","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/archive-evaluation-group"},{"title":"Patch Evaluation Group","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/patch-evaluation-group"},{"title":"Get Evaluation Group Schema","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-groups/{group_id}/schema","href":"/reference/v5/evaluation-groups/get-evaluation-group-schema"}]},{"group":"Evaluation Charts","pages":[{"title":"List Evaluation Charts","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-charts","href":"/reference/v5/evaluation-charts/list-evaluation-charts"},{"title":"Create Evaluation Chart","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluation-charts","href":"/reference/v5/evaluation-charts/create-evaluation-chart"},{"title":"Get Evaluation Chart","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/get-evaluation-chart"},{"title":"Replace Evaluation Chart","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json put /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/replace-evaluation-chart"},{"title":"Delete Evaluation Chart","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/delete-evaluation-chart"},{"title":"Patch Evaluation Chart","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/patch-evaluation-chart"}]},{"group":"Evaluation Dashboards","pages":[{"title":"List Evaluation Dashboards","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-dashboards","href":"/reference/v5/evaluation-dashboards/list-evaluation-dashboards"},{"title":"Create Evaluation Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluation-dashboards","href":"/reference/v5/evaluation-dashboards/create-evaluation-dashboard"},{"title":"Get Evaluation Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/get-evaluation-dashboard"},{"title":"Delete Evaluation Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/delete-evaluation-dashboard"},{"title":"Patch Evaluation Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/patch-evaluation-dashboard"},{"title":"Add Widget to Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluation-dashboards/{dashboard_id}/widgets","href":"/reference/v5/evaluation-dashboards/add-widget-to-dashboard"},{"title":"Remove Widget from Dashboard","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/remove-widget-from-dashboard"},{"title":"Update Dashboard Widget","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/update-dashboard-widget"}]},{"group":"Evaluation Items","pages":[{"title":"Get a single evaluation item","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-items/{evaluation_item_id}","href":"/reference/v5/evaluation-items/get-a-single-evaluation-item"},{"title":"List and filter evaluation items","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/evaluation-items","href":"/reference/v5/evaluation-items/list-and-filter-evaluation-items"},{"title":"Export evaluation items to a file","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/evaluation-items/export","href":"/reference/v5/evaluation-items/export-evaluation-items-to-a-file"}]},{"group":"Spans","pages":[{"title":"Create a span","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans","href":"/reference/v5/spans/create-a-span"},{"title":"Upsert spans in a batch","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json put /v5/spans/batch","href":"/reference/v5/spans/upsert-spans-in-a-batch"},{"title":"Create spans in a batch","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/batch","href":"/reference/v5/spans/create-spans-in-a-batch"},{"title":"List trace deletion requests","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/spans/deletions","href":"/reference/v5/spans/list-trace-deletion-requests"},{"title":"Create trace deletion request","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/deletions","href":"/reference/v5/spans/create-trace-deletion-request"},{"title":"Get trace deletion request status","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/spans/deletions/{deletion_request_id}","href":"/reference/v5/spans/get-trace-deletion-request-status"},{"title":"Get a span","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/spans/{span_id}","href":"/reference/v5/spans/get-a-span"},{"title":"Update a span","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/spans/{span_id}","href":"/reference/v5/spans/update-a-span"},{"title":"Get a span within a trace","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/traces/{trace_id}/spans/{span_id}","href":"/reference/v5/spans/get-a-span-within-a-trace"},{"title":"List span summaries for a trace","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/traces/{trace_id}/spans","href":"/reference/v5/spans/list-span-summaries-for-a-trace"},{"title":"Search spans","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/search","href":"/reference/v5/spans/search-spans"},{"title":"Export spans","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/export","href":"/reference/v5/spans/export-spans"},{"title":"Get span export status","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/spans/export/{export_id}","href":"/reference/v5/spans/get-span-export-status"},{"title":"Get time-bucketed span metrics","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/metrics","href":"/reference/v5/spans/get-time-bucketed-span-metrics"},{"title":"Get span metrics grouped by name","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/metrics/by-span","href":"/reference/v5/spans/get-span-metrics-grouped-by-name"}]},{"group":"Span Assessment","pages":[{"title":"List span or trace assessments","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/span-assessments","href":"/reference/v5/span-assessment/list-span-or-trace-assessments"},{"title":"Create span assessment","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/span-assessments","href":"/reference/v5/span-assessment/create-span-assessment"},{"title":"Get span assessment by ID","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/get-span-assessment-by-id"},{"title":"Permanently delete span assessment","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/permanently-delete-span-assessment"},{"title":"Update span assessment","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/update-span-assessment"}]},{"group":"Annotation Tasks","pages":[{"title":"Update or assign annotation tasks in bulk","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/annotation-tasks/batch","href":"/reference/v5/annotation-tasks/update-or-assign-annotation-tasks-in-bulk"}]},{"group":"Credentials","pages":[{"title":"List Credentials","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/credentials","href":"/reference/v5/credentials/list-credentials"},{"title":"Create Credential","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/credentials","href":"/reference/v5/credentials/create-credential"},{"title":"Get Credential by Name","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/credentials/name/{credential_name}","href":"/reference/v5/credentials/get-credential-by-name"},{"title":"Get Credential by ID","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/credentials/{credential_id}","href":"/reference/v5/credentials/get-credential-by-id"},{"title":"Delete Credential","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/credentials/{credential_id}","href":"/reference/v5/credentials/delete-credential"},{"title":"Update Credential","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/credentials/{credential_id}","href":"/reference/v5/credentials/update-credential"},{"title":"Get Credential Secret by ID","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/credentials/{credential_id}/secret","href":"/reference/v5/credentials/get-credential-secret-by-id"},{"title":"Get Credential Secret by Name","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/credentials/name/{credential_name}/secret","href":"/reference/v5/credentials/get-credential-secret-by-name"}]},{"group":"Agentex Cloud Build","pages":[{"title":"List container image builds","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/builds","href":"/reference/v5/agentex-cloud-build/list-container-image-builds"},{"title":"Submit container image build","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/builds","href":"/reference/v5/agentex-cloud-build/submit-container-image-build"},{"title":"List agents built but not deployed","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/builds/undeployed","href":"/reference/v5/agentex-cloud-build/list-agents-built-but-not-deployed"},{"title":"Get a build","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/builds/{build_id}","href":"/reference/v5/agentex-cloud-build/get-a-build"},{"title":"Stream build logs","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/builds/{build_id}/logs","href":"/reference/v5/agentex-cloud-build/stream-build-logs"},{"title":"Cancel a build","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/builds/{build_id}/cancel","href":"/reference/v5/agentex-cloud-build/cancel-a-build"}]},{"group":"Agentex Cloud Deploy","pages":[{"title":"List agent deployments","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agentex/deployments","href":"/reference/v5/agentex-cloud-deploy/list-agent-deployments"},{"title":"Deploy a built agent image","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/agentex/deployments","href":"/reference/v5/agentex-cloud-deploy/deploy-a-built-agent-image"},{"title":"Get an agent deployment","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agentex/deployments/{deployment_id}","href":"/reference/v5/agentex-cloud-deploy/get-an-agent-deployment"},{"title":"Delete and tear down a deployment","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/agentex/deployments/{deployment_id}","href":"/reference/v5/agentex-cloud-deploy/delete-and-tear-down-a-deployment"},{"title":"Get agent deployment logs","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/agentex/deployments/{deployment_id}/logs","href":"/reference/v5/agentex-cloud-deploy/get-agent-deployment-logs"}]},{"group":"Agentex Agent","pages":[{"title":"Delete Agent","deprecated":null,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/agentex/agents/{agent_id}","href":"/reference/v5/agentex-agent/delete-agent"}]},{"group":"SGP Cloud Secrets","pages":[{"title":"List Secrets","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/sgp/secrets","href":"/reference/v5/sgp-cloud-secrets/list-secrets"},{"title":"Create Secret","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/sgp/secrets","href":"/reference/v5/sgp-cloud-secrets/create-secret"},{"title":"Get Secret","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json get /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/get-secret"},{"title":"Delete Secret","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json delete /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/delete-secret"},{"title":"Update Secret","deprecated":true,"version":null,"openapi":"https://api.sgp.scale.com/openapi-versions/v5/openapi.json patch /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/update-secret"}]}]},{"tab":"AgentOps SDK","href":"https://scaleapi.github.io/sgp-sdk-docs/api/python/"},{"tab":"Agentex API","groups":[{"group":"Agents","pages":[{"title":"Get Agent by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}","href":"/reference/agentex/agents/get-agent-by-id"},{"title":"Delete Agent by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agents/{agent_id}","href":"/reference/agentex/agents/delete-agent-by-id"},{"title":"Get Agent by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/name/{agent_name}","href":"/reference/agentex/agents/get-agent-by-name"},{"title":"Delete Agent by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agents/name/{agent_name}","href":"/reference/agentex/agents/delete-agent-by-name"},{"title":"List Agents","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents","href":"/reference/agentex/agents/list-agents"},{"title":"Register Agent","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/register","href":"/reference/agentex/agents/register-agent"},{"title":"Register Build","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/register-build","href":"/reference/agentex/agents/register-build"},{"title":"Forward GET request to agent by name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/forward/name/{agent_name}/{path}","href":"/reference/agentex/agents/forward-get-request-to-agent-by-name"},{"title":"Forward POST request to agent by name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/forward/name/{agent_name}/{path}","href":"/reference/agentex/agents/forward-post-request-to-agent-by-name"},{"title":"Handle Agent RPC by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/rpc","href":"/reference/agentex/agents/handle-agent-rpc-by-id"},{"title":"Handle Agent RPC by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/name/{agent_name}/rpc","href":"/reference/agentex/agents/handle-agent-rpc-by-name"}]},{"group":"Tasks","pages":[{"title":"Get Task by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/{task_id}","href":"/reference/agentex/tasks/get-task-by-id"},{"title":"Update Task by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /tasks/{task_id}","href":"/reference/agentex/tasks/update-task-by-id"},{"title":"Delete Task by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /tasks/{task_id}","href":"/reference/agentex/tasks/delete-task-by-id"},{"title":"Get Task by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/name/{task_name}","href":"/reference/agentex/tasks/get-task-by-name"},{"title":"Update Task by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /tasks/name/{task_name}","href":"/reference/agentex/tasks/update-task-by-name"},{"title":"Delete Task by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /tasks/name/{task_name}","href":"/reference/agentex/tasks/delete-task-by-name"},{"title":"List Tasks","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks","href":"/reference/agentex/tasks/list-tasks"},{"title":"Complete Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/complete","href":"/reference/agentex/tasks/complete-task"},{"title":"Fail Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/fail","href":"/reference/agentex/tasks/fail-task"},{"title":"Cancel Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/cancel","href":"/reference/agentex/tasks/cancel-task"},{"title":"Interrupt Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/interrupt","href":"/reference/agentex/tasks/interrupt-task"},{"title":"Terminate Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/terminate","href":"/reference/agentex/tasks/terminate-task"},{"title":"Timeout Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/timeout","href":"/reference/agentex/tasks/timeout-task"},{"title":"Stream Task Events by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/{task_id}/stream","href":"/reference/agentex/tasks/stream-task-events-by-id"},{"title":"Stream Task Events by Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/name/{task_name}/stream","href":"/reference/agentex/tasks/stream-task-events-by-name"},{"title":"Query Task Workflow","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/{task_id}/query/{query_name}","href":"/reference/agentex/tasks/query-task-workflow"}]},{"group":"Messages","pages":[{"title":"Batch Update Messages","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /messages/batch","href":"/reference/agentex/messages/batch-update-messages"},{"title":"Batch Create Messages","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /messages/batch","href":"/reference/agentex/messages/batch-create-messages"},{"title":"List Messages","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /messages","href":"/reference/agentex/messages/list-messages"},{"title":"Create Message","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /messages","href":"/reference/agentex/messages/create-message"},{"title":"Get Message","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /messages/{message_id}","href":"/reference/agentex/messages/get-message"},{"title":"Update Message","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /messages/{message_id}","href":"/reference/agentex/messages/update-message"},{"title":"List Messages Paginated","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /messages/paginated","href":"/reference/agentex/messages/list-messages-paginated"}]},{"group":"Spans","pages":[{"title":"List Spans","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /spans","href":"/reference/agentex/spans/list-spans"},{"title":"Create Span","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /spans","href":"/reference/agentex/spans/create-span"},{"title":"Get Span","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /spans/{span_id}","href":"/reference/agentex/spans/get-span"},{"title":"Partial Update Span","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json patch /spans/{span_id}","href":"/reference/agentex/spans/partial-update-span"}]},{"group":"States","pages":[{"title":"List States","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /states","href":"/reference/agentex/states/list-states"},{"title":"Create Task State","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /states","href":"/reference/agentex/states/create-task-state"},{"title":"Get State by State ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /states/{state_id}","href":"/reference/agentex/states/get-state-by-state-id"},{"title":"Update Task State","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /states/{state_id}","href":"/reference/agentex/states/update-task-state"},{"title":"Delete Task State","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /states/{state_id}","href":"/reference/agentex/states/delete-task-state"}]},{"group":"Events","pages":[{"title":"Get Event","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /events/{event_id}","href":"/reference/agentex/events/get-event"},{"title":"List Events","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /events","href":"/reference/agentex/events/list-events"}]},{"group":"Slack","pages":[{"title":"Slack Events API ingress for the @agent app","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /slack/events","href":"/reference/agentex/slack/slack-events-api-ingress-for-the-@agent-app"},{"title":"Slack slash-command ingress (e.g. /agents)","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /slack/commands","href":"/reference/agentex/slack/slack-slash-command-ingress-eg-agents"},{"title":"Slack interactivity ingress (modals, shortcuts)","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /slack/interactions","href":"/reference/agentex/slack/slack-interactivity-ingress-modals-shortcuts"}]},{"group":"Agent Task Tracker","pages":[{"title":"Get Agent Task Tracker","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tracker/{tracker_id}","href":"/reference/agentex/agent-task-tracker/get-agent-task-tracker"},{"title":"Update Agent Task Tracker","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json put /tracker/{tracker_id}","href":"/reference/agentex/agent-task-tracker/update-agent-task-tracker"},{"title":"List Agent Task Trackers","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tracker","href":"/reference/agentex/agent-task-tracker/list-agent-task-trackers"}]},{"group":"Agent APIKeys","pages":[{"title":"List API keys for an agent ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agent_api_keys","href":"/reference/agentex/agent-apikeys/list-api-keys-for-an-agent-id"},{"title":"Create Api Key","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agent_api_keys","href":"/reference/agentex/agent-apikeys/create-api-key"},{"title":"Create Webhook Trigger","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agent_api_keys/webhook-trigger","href":"/reference/agentex/agent-apikeys/create-webhook-trigger"},{"title":"Return named API key for the agent ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agent_api_keys/name/{name}","href":"/reference/agentex/agent-apikeys/return-named-api-key-for-the-agent-id"},{"title":"Return the API key by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agent_api_keys/{id}","href":"/reference/agentex/agent-apikeys/return-the-api-key-by-id"},{"title":"Delete API key by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agent_api_keys/{id}","href":"/reference/agentex/agent-apikeys/delete-api-key-by-id"},{"title":"Delete API key by name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agent_api_keys/name/{api_key_name}","href":"/reference/agentex/agent-apikeys/delete-api-key-by-name"}]},{"group":"Linear","pages":[{"title":"Linear agent webhook ingress for the @agentex app","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /linear/events","href":"/reference/agentex/linear/linear-agent-webhook-ingress-for-the-@agentex-app"}]},{"group":"Integrations","pages":[{"title":"Confirm linking a Slack identity to SGP","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /integrations/slack/link","href":"/reference/agentex/integrations/confirm-linking-a-slack-identity-to-sgp"},{"title":"Complete a Slack identity link","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /integrations/slack/link","href":"/reference/agentex/integrations/complete-a-slack-identity-link"}]},{"group":"Deployment History","pages":[{"title":"Get Deployment by ID","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /deployment-history/{deployment_id}","href":"/reference/agentex/deployment-history/get-deployment-by-id"},{"title":"List Deployments for an agent","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /deployment-history","href":"/reference/agentex/deployment-history/list-deployments-for-an-agent"}]},{"group":"Deployments","pages":[{"title":"List Deployments","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}/deployments","href":"/reference/agentex/deployments/list-deployments"},{"title":"Create Deployment","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/deployments","href":"/reference/agentex/deployments/create-deployment"},{"title":"Get Deployment","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}/deployments/{deployment_id}","href":"/reference/agentex/deployments/get-deployment"},{"title":"Delete Deployment","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agents/{agent_id}/deployments/{deployment_id}","href":"/reference/agentex/deployments/delete-deployment"},{"title":"Promote Deployment","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/deployments/{deployment_id}/promote","href":"/reference/agentex/deployments/promote-deployment"},{"title":"Preview RPC","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/deployments/{deployment_id}/rpc","href":"/reference/agentex/deployments/preview-rpc"}]},{"group":"Schedules","pages":[{"title":"List Run Schedules","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}/schedules","href":"/reference/agentex/schedules/list-run-schedules"},{"title":"Create Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules","href":"/reference/agentex/schedules/create-run-schedule"},{"title":"Get Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}/schedules/name/{name}","href":"/reference/agentex/schedules/get-run-schedule-by-name"},{"title":"Delete Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agents/{agent_id}/schedules/name/{name}","href":"/reference/agentex/schedules/delete-run-schedule-by-name"},{"title":"Update Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json patch /agents/{agent_id}/schedules/name/{name}","href":"/reference/agentex/schedules/update-run-schedule-by-name"},{"title":"Get Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /agents/{agent_id}/schedules/{schedule_id}","href":"/reference/agentex/schedules/get-run-schedule"},{"title":"Delete Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json delete /agents/{agent_id}/schedules/{schedule_id}","href":"/reference/agentex/schedules/delete-run-schedule"},{"title":"Update Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json patch /agents/{agent_id}/schedules/{schedule_id}","href":"/reference/agentex/schedules/update-run-schedule"},{"title":"Trigger Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/name/{name}/trigger","href":"/reference/agentex/schedules/trigger-run-schedule-by-name"},{"title":"Trigger Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/{schedule_id}/trigger","href":"/reference/agentex/schedules/trigger-run-schedule"},{"title":"Skip Run Schedule Action","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/{schedule_id}/skip","href":"/reference/agentex/schedules/skip-run-schedule-action"},{"title":"Unskip Run Schedule Action","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/{schedule_id}/unskip","href":"/reference/agentex/schedules/unskip-run-schedule-action"},{"title":"Pause Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/name/{name}/pause","href":"/reference/agentex/schedules/pause-run-schedule-by-name"},{"title":"Pause Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/{schedule_id}/pause","href":"/reference/agentex/schedules/pause-run-schedule"},{"title":"Resume Run Schedule By Name","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/name/{name}/resume","href":"/reference/agentex/schedules/resume-run-schedule-by-name"},{"title":"Resume Run Schedule","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /agents/{agent_id}/schedules/{schedule_id}/resume","href":"/reference/agentex/schedules/resume-run-schedule"}]},{"group":"Checkpoints","pages":[{"title":"Get Checkpoint Tuple","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /checkpoints/get-tuple","href":"/reference/agentex/checkpoints/get-checkpoint-tuple"},{"title":"Put Checkpoint","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /checkpoints/put","href":"/reference/agentex/checkpoints/put-checkpoint"},{"title":"Put Writes","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /checkpoints/put-writes","href":"/reference/agentex/checkpoints/put-writes"},{"title":"List Checkpoints","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /checkpoints/list","href":"/reference/agentex/checkpoints/list-checkpoints"},{"title":"Delete Thread","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /checkpoints/delete-thread","href":"/reference/agentex/checkpoints/delete-thread"}]},{"group":"task-retention","pages":[{"title":"Export Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json get /tasks/{task_id}/export","href":"/reference/agentex/task-retention/export-task"},{"title":"Export Task To Url","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/export","href":"/reference/agentex/task-retention/export-task-to-url"},{"title":"Clean Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/clean","href":"/reference/agentex/task-retention/clean-task"},{"title":"Rehydrate Task","deprecated":null,"version":null,"openapi":"https://agentex.dev-sgp.scale.com/openapi.json post /tasks/{task_id}/rehydrate","href":"/reference/agentex/task-retention/rehydrate-task"}]}]},{"tab":"Agentex SDK","href":"https://scaleapi.github.io/agentex-sdk-docs/api/python/"},{"tab":"Capabilities","groups":[{"group":"Getting Started","pages":[{"title":"SGP Capabilities Overview","href":"/docs/capabilities/overview"},{"title":"Capabilities Changelog","href":"/docs/capabilities/changelog"}]},{"group":"Document Understanding","pages":[{"title":"Introduction to Dex","href":"/docs/capabilities/document-understanding/introduction-to-dex"},{"title":"Getting Started with Dex","href":"/docs/capabilities/document-understanding/getting-started-with-dex"},{"group":"Core Functionality","pages":[{"title":"File Management","href":"/docs/capabilities/document-understanding/file-management"},{"title":"Parse","href":"/docs/capabilities/document-understanding/parse"},{"title":"Chunking","href":"/docs/capabilities/document-understanding/chunking"},{"title":"Vector Stores","href":"/docs/capabilities/document-understanding/vector-stores"},{"title":"Indexing","href":"/docs/capabilities/document-understanding/indexing"},{"title":"Extract","href":"/docs/capabilities/document-understanding/extract"},{"title":"Research","href":"/docs/capabilities/document-understanding/research"}]},{"title":"Best Practices","href":"/docs/capabilities/document-understanding/best-practices"},{"title":"API Reference","href":"/docs/capabilities/document-understanding/api-reference"},{"title":"Dex SDK API Reference","href":"/docs/capabilities/document-understanding/dex-sdk-api-reference"},{"title":"Troubleshooting Dex","href":"/docs/capabilities/document-understanding/troubleshooting"}]},{"group":"OCR","pages":[{"title":"Introduction to IRIS","href":"/docs/capabilities/ocr/introduction-to-iris"},{"title":"Getting Started with IRIS","href":"/docs/capabilities/ocr/getting-started-with-iris"},{"title":"DEX model engine choices","href":"/docs/capabilities/ocr/when-to-choose-iris"}]},{"group":"Workflows","pages":[{"title":"How to use Workflows","href":"/docs/capabilities/workflows/introduction-to-workflows"},{"title":"Guide to automating evals on Workflows","href":"/docs/capabilities/workflows/evals-in-workflows"},{"title":"Guide to document understanding in Workflows","href":"/docs/capabilities/workflows/dex-parsing-in-workflows"},{"title":"How to run Workflows using a script","href":"/docs/capabilities/workflows/run-workflows-using-a-script"}]},{"group":"Training","pages":[{"title":"Introduction to Train","href":"/docs/capabilities/training/introduction-to-train"},{"title":"Getting Started with Train","href":"/docs/capabilities/training/getting-started-with-train"},{"title":"Custom Images","href":"/docs/capabilities/training/custom-images"},{"title":"Storage Mounts","href":"/docs/capabilities/training/storage-mounts"}]},{"group":"Code Authoring","pages":[{"title":"Introduction to Code Authoring","href":"/docs/capabilities/code-authoring/introduction-to-code-authoring"}]}]},{"tab":"Dex API","groups":[{"group":"Projects","pages":[{"title":"List Projects","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects","href":"/reference/dex/projects/list-projects"},{"title":"Create Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects","href":"/reference/dex/projects/create-project"},{"title":"Get Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}","href":"/reference/dex/projects/get-project"},{"title":"Update Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json put /v1/projects/{project_id}","href":"/reference/dex/projects/update-project"}]},{"group":"Files","pages":[{"title":"List Files","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files","href":"/reference/dex/files/list-files"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/files","href":"/reference/dex/files/upload-file"},{"title":"Get By Id","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/get-by-id"},{"title":"Delete File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/delete-file"},{"title":"Get File Download Url","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/download-url","href":"/reference/dex/files/get-file-download-url"},{"title":"Stream File Content","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/stream","href":"/reference/dex/files/stream-file-content"}]},{"group":"Parse","pages":[{"title":"Create Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse","href":"/reference/dex/parse/create-parse-job"},{"title":"Create Batch Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/batch","href":"/reference/dex/parse/create-batch-parse-job"},{"title":"List Parse Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/results","href":"/reference/dex/parse/list-parse-results"},{"title":"Get Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/{parse_result_id}/result","href":"/reference/dex/parse/get-parse-result"},{"title":"Upload Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/upload-result","href":"/reference/dex/parse/upload-parse-result"},{"title":"Create Chunk Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/{parse_result_id}/rechunk","href":"/reference/dex/parse/create-chunk-job"}]},{"group":"Vector Stores","pages":[{"title":"List vector stores","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/list-vector-stores"},{"title":"Create a new vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/create-a-new-vector-store"},{"title":"Get vector store details","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/get-vector-store-details"},{"title":"Delete a vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/delete-a-vector-store"},{"title":"List files in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/list-files-in-vector-store"},{"title":"Add files to vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/add-files-to-vector-store"},{"title":"Remove files from vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/remove-files-from-vector-store"},{"title":"Search in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/search","href":"/reference/dex/vector-stores/search-in-vector-store"},{"title":"Search in vector store's file","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files/{file_id}/search","href":"/reference/dex/vector-stores/search-in-vector-stores-file"}]},{"group":"Extract","pages":[{"title":"Create Extract Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/extract","href":"/reference/dex/extract/create-extract-job"},{"title":"Get Extraction","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/{extraction_id}/result","href":"/reference/dex/extract/get-extraction"},{"title":"List Extractions","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/results","href":"/reference/dex/extract/list-extractions"}]},{"group":"Research","pages":[{"title":"Create Research Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/research","href":"/reference/dex/research/create-research-job"},{"title":"List Research Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/research/results","href":"/reference/dex/research/list-research-results"}]},{"group":"Jobs","pages":[{"title":"Get Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}","href":"/reference/dex/jobs/get-job"},{"title":"List Jobs","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs","href":"/reference/dex/jobs/list-jobs"},{"title":"Cancel Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/jobs/{job_id}/cancel","href":"/reference/dex/jobs/cancel-job"},{"title":"Stream Job Updates","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}/updates","href":"/reference/dex/jobs/stream-job-updates"}]},{"group":"Indexes","pages":[{"title":"List Indexes","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/list-indexes"},{"title":"Create Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/create-index"},{"title":"Get Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/get-index"},{"title":"Delete Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/delete-index"},{"title":"Batch Upsert Files To Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-upsert-files-to-index"},{"title":"Batch Delete Files From Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-delete-files-from-index"},{"title":"Search Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/search","href":"/reference/dex/indexes/search-index"},{"title":"Navigate Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/navigate","href":"/reference/dex/indexes/navigate-index"}]},{"group":"Data sources","pages":[{"title":"List Project Data Sources","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/list-project-data-sources"},{"title":"Link Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/link-project-data-source"},{"title":"Get Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/get-project-data-source"},{"title":"Unlink Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/unlink-project-data-source"},{"title":"Resync Data Source Deltas","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources/{data_source_id}/resync","href":"/reference/dex/data-sources/resync-data-source-deltas"}]},{"group":"Webhooks","pages":[{"title":"Ingest Data Sources Change Event","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/webhooks/data-sources","href":"/reference/dex/webhooks/ingest-data-sources-change-event"}]}]}]},{"version":"V4 (legacy)","pages":[{"title":"V4 (legacy)","href":"/docs/introduction"}]}]},"basePath":"","title":"Execute Agent - Scale AI","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}