Agents
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/agents"{ "agents": [ { "agent_id": "string", "authority": { "can_promise": [ "string" ], "cannot_promise": [ "string" ] }, "display_name": "string", "escalation_triggers": [ "string" ], "knowledge_sources": [ { "description": "string", "kb_id": "string", "kind": "local", "url": "string" } ], "scope": { "in_scope": [ "string" ], "out_of_scope": [ "string" ] }, "system_prompt": "string", "target_url": "string", "tone": { "forbidden": [ "string" ], "target": "string" }, "workflow_definition": null, "workflow_requirements": [ { "name": "string", "required_before": [ "string" ], "sensitive_steps": [ "string" ] } ] } ]}Request Body
application/yaml
Agent profile, YAML or JSON
TypeScript Definitions
Use the request body type in TypeScript.
What an agent is, what it may claim, and how it should sound.
Authored as YAML by the customer (see policies/agents/*.yaml), parsed
by tl-policy::load_agent_str, persisted in Postgres, cached in process,
and consulted by Tier 2 (out-of-scope embedding lookup) and Tier 3
(LLM judge ground truth).
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/agents" \ -H "Content-Type: application/yaml" \ -d '<agent_id>string</agent_id> <authority/> <display_name>string</display_name> <scope/> <tone> <target>string</target> </tone>'{ "agent_id": "string", "authority": { "can_promise": [ "string" ], "cannot_promise": [ "string" ] }, "display_name": "string", "escalation_triggers": [ "string" ], "knowledge_sources": [ { "description": "string", "kb_id": "string", "kind": "local", "url": "string" } ], "scope": { "in_scope": [ "string" ], "out_of_scope": [ "string" ] }, "system_prompt": "string", "target_url": "string", "tone": { "forbidden": [ "string" ], "target": "string" }, "workflow_definition": null, "workflow_requirements": [ { "name": "string", "required_before": [ "string" ], "sensitive_steps": [ "string" ] } ]}Path Parameters
Agent identifier
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/agents/string"{ "agent_id": "string", "authority": { "can_promise": [ "string" ], "cannot_promise": [ "string" ] }, "display_name": "string", "escalation_triggers": [ "string" ], "knowledge_sources": [ { "description": "string", "kb_id": "string", "kind": "local", "url": "string" } ], "scope": { "in_scope": [ "string" ], "out_of_scope": [ "string" ] }, "system_prompt": "string", "target_url": "string", "tone": { "forbidden": [ "string" ], "target": "string" }, "workflow_definition": null, "workflow_requirements": [ { "name": "string", "required_before": [ "string" ], "sensitive_steps": [ "string" ] } ]}Path Parameters
Agent identifier
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/agents/string"curl -X GET "https://example.com/v1/agents/string/guardrails"{ "policies": [ { "action": "string", "description": "string", "enabled": true, "family": "content", "id": "string", "owner_agent_id": "string", "severity": "low" } ]}Callers review the set and flip individual policies on via
PATCH /v1/policies/{id}/enabled. Runtime checks never see these
policies until that happens (because runtime event evaluation filters by enabled).
Path Parameters
Agent identifier
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/agents/string/guardrails/generate"{ "generated": [ { "description": "string", "enabled": true, "family": "content", "id": "string", "severity": "low", "source_yaml": "string" } ]}