Skip to content

Validate Agent

POST /agents/{agent_id}/validate

The same validator, without saving. 200 with valid: false rather than a 422: the caller asked whether it is valid, and an error status would make a perfectly successful question look like a failed request.

NameInTypeNotes
agent_idpathstring (uuid)required—
FieldTypeNotes
graph_kindreact_loop | pipeline | router | flow | code_taskoptionalDefault "react_loop".
graph_configobjectoptional—
system_promptstringoptionalDefault "".
model_refstring | nulloptionalmax length 200
model_paramsobjectoptional—
toolsstring[]optional—
toolkitsstring[]optional—
sub_agentsSubAgentSpec[]optional—
skillsstring[]optional—
context_providersContextProviderSpec[]optional—
capabilitiesobjectoptional—
memory_configobjectoptional—
context_configobjectoptional—
guardrailsobjectoptional—
hooksobjectoptional—
interruptionsToolCallInterrupt | TurnCountInterrupt | CostInterrupt[]optional—
output_schemaobject | nulloptional—
input_schemaobject | nulloptional—
secrets_requiredstring[]optional—
max_duration_sintegeroptionalDefault 900. min 5 max 21600
max_turnsintegeroptionalDefault 40. min 1 max 500
recursion_limitintegeroptionalDefault 200. min 1 max 1000
retry_policyobjectoptional—
StatusDescriptionBody
200Successful ResponseValidationReport
422Validation ErrorHTTPValidationError

The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.

Terminal window
curl -X POST https://your-deployment.example.com/agents/{agent_id}/validate \
-H "Authorization: Bearer $COBRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"graph_kind": "react_loop",
"graph_config": {},
"system_prompt": "string",
"model_params": {},
"tools": [
"string"
],
"toolkits": [
"string"
],
"sub_agents": [
{}
],
"skills": [
"string"
],
"context_providers": [
{}
],
"capabilities": {},
"memory_config": {},
"context_config": {},
"guardrails": {},
"hooks": {},
"interruptions": [],
"secrets_required": [
"string"
],
"max_duration_s": 0,
"max_turns": 0,
"recursion_limit": 0,
"retry_policy": {}
}'
FieldTypeNotes
validbooleanrequired—
errorsValidationViolation[]optional—
warningsValidationWarning[]optional—
resolved_toolsstring[]optional—
resolved_skillsstring[]optional—
resolved_model_refstring | nulloptional—
normalizedRevisionDocument | nulloptional—