Action required: Entity management is moving from Workspaces to Projects. Migrate your entities now. See how to move entities in our guide.
curl --request PATCH \
--url https://api.orq.ai/v2/agents/{agent_key} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"display_name": "<string>",
"project_id": "<string>",
"role": "<string>",
"description": "<string>",
"instructions": "<string>",
"system_prompt": "<string>",
"model": "<string>",
"fallback_models": [
"<string>"
],
"settings": {
"max_iterations": 100,
"max_execution_time": 600,
"tool_approval_required": "respect_tool",
"tools": [],
"evaluators": [
{
"id": "<string>",
"execute_on": "input",
"sample_rate": 50
}
],
"guardrails": [
{
"id": "<string>",
"execute_on": "input",
"sample_rate": 50
}
]
},
"path": "Default",
"memory_stores": [
"<string>"
],
"knowledge_bases": [
{
"knowledge_id": "customer-knowledge-base"
}
],
"team_of_agents": [
{
"key": "<string>",
"role": "<string>"
}
],
"variables": {}
}
'{
"_id": "<string>",
"key": "<string>",
"display_name": "<string>",
"workspace_id": "<string>",
"project_id": "<string>",
"role": "<string>",
"description": "<string>",
"instructions": "<string>",
"status": "live",
"model": {
"id": "<string>",
"integration_id": "<string>",
"parameters": {
"audio": {
"voice": "alloy",
"format": "wav"
},
"frequency_penalty": 123,
"max_tokens": 123,
"max_completion_tokens": 123,
"logprobs": true,
"top_logprobs": 10,
"n": 2,
"presence_penalty": 123,
"response_format": {
"type": "text"
},
"reasoning_effort": "none",
"verbosity": "<string>",
"seed": 123,
"stop": "<string>",
"stream_options": {
"include_usage": true
},
"thinking": {
"type": "disabled"
},
"temperature": 1,
"top_p": 0.5,
"top_k": 123,
"tool_choice": "none",
"parallel_tool_calls": true,
"modalities": [
"text"
],
"guardrails": [
{
"id": "orq_pii_detection",
"execute_on": "input"
}
]
},
"retry": {
"count": 3,
"on_codes": [
429,
500,
502,
503,
504
]
},
"fallback_models": [
"<string>"
]
},
"path": "Default",
"memory_stores": [
"<string>"
],
"team_of_agents": [
{
"key": "<string>",
"role": "<string>"
}
],
"created_by_id": "<string>",
"updated_by_id": "<string>",
"created": "<string>",
"updated": "<string>",
"system_prompt": "<string>",
"settings": {
"max_execution_time": 600,
"max_iterations": 100,
"tool_approval_required": "respect_tool",
"tools": []
},
"version_hash": "<string>",
"metrics": {
"total_cost": 0
},
"variables": {},
"knowledge_bases": [
{
"knowledge_id": "customer-knowledge-base"
}
]
}Modifies an existing agent’s configuration with partial updates. Supports updating any aspect of the agent including model assignments (primary and fallback), instructions, tools, knowledge bases, memory stores, and execution parameters. Only the fields provided in the request body will be updated; all other fields remain unchanged. Changes take effect immediately for new agent invocations.
curl --request PATCH \
--url https://api.orq.ai/v2/agents/{agent_key} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"display_name": "<string>",
"project_id": "<string>",
"role": "<string>",
"description": "<string>",
"instructions": "<string>",
"system_prompt": "<string>",
"model": "<string>",
"fallback_models": [
"<string>"
],
"settings": {
"max_iterations": 100,
"max_execution_time": 600,
"tool_approval_required": "respect_tool",
"tools": [],
"evaluators": [
{
"id": "<string>",
"execute_on": "input",
"sample_rate": 50
}
],
"guardrails": [
{
"id": "<string>",
"execute_on": "input",
"sample_rate": 50
}
]
},
"path": "Default",
"memory_stores": [
"<string>"
],
"knowledge_bases": [
{
"knowledge_id": "customer-knowledge-base"
}
],
"team_of_agents": [
{
"key": "<string>",
"role": "<string>"
}
],
"variables": {}
}
'{
"_id": "<string>",
"key": "<string>",
"display_name": "<string>",
"workspace_id": "<string>",
"project_id": "<string>",
"role": "<string>",
"description": "<string>",
"instructions": "<string>",
"status": "live",
"model": {
"id": "<string>",
"integration_id": "<string>",
"parameters": {
"audio": {
"voice": "alloy",
"format": "wav"
},
"frequency_penalty": 123,
"max_tokens": 123,
"max_completion_tokens": 123,
"logprobs": true,
"top_logprobs": 10,
"n": 2,
"presence_penalty": 123,
"response_format": {
"type": "text"
},
"reasoning_effort": "none",
"verbosity": "<string>",
"seed": 123,
"stop": "<string>",
"stream_options": {
"include_usage": true
},
"thinking": {
"type": "disabled"
},
"temperature": 1,
"top_p": 0.5,
"top_k": 123,
"tool_choice": "none",
"parallel_tool_calls": true,
"modalities": [
"text"
],
"guardrails": [
{
"id": "orq_pii_detection",
"execute_on": "input"
}
]
},
"retry": {
"count": 3,
"on_codes": [
429,
500,
502,
503,
504
]
},
"fallback_models": [
"<string>"
]
},
"path": "Default",
"memory_stores": [
"<string>"
],
"team_of_agents": [
{
"key": "<string>",
"role": "<string>"
}
],
"created_by_id": "<string>",
"updated_by_id": "<string>",
"created": "<string>",
"updated": "<string>",
"system_prompt": "<string>",
"settings": {
"max_execution_time": 600,
"max_iterations": 100,
"tool_approval_required": "respect_tool",
"tools": []
},
"version_hash": "<string>",
"metrics": {
"total_cost": 0
},
"variables": {},
"knowledge_bases": [
{
"knowledge_id": "customer-knowledge-base"
}
]
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
The unique key of the agent to update
Request body for updating an existing agent via the API. Uses simplified tool input format.
1A brief description of what the agent does
1A custom system prompt template for the agent. If omitted, the default template is used.
1A model ID string (e.g., openai/gpt-4o or anthropic/claude-haiku-4-5-20251001). The agent can be run with a wide range of models with different capabilities, performance characteristics, and price points. Only models that support tool calling (function_calling) can be used to run agents. See (supported models)[/docs/proxy/supported-models] documentation for the complete list of available models.
Optional array of fallback models used when the primary model fails. Fallbacks are attempted in order. All models must support tool calling.
A fallback model ID string (e.g., openai/gpt-4o-mini). Will be used if the primary model request fails. Must support tool calling.
Show child attributes
Entity storage path in the format: project/folder/subfolder/...
The first element identifies the project, followed by nested folders (auto-created as needed).
With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
"Default"
Array of memory store identifiers. Accepts both memory store IDs and keys.
Show child attributes
The agents that are accessible to this orchestrator. The main agent can hand off to these agents to perform tasks.
Show child attributes
Extracted variables from agent instructions
Show child attributes
Agent configuration successfully updated. Returns the complete updated agent manifest reflecting all changes made.
Unique identifier for the agent within the workspace
1The status of the agent. Live is the latest version of the agent. Draft is a version that is not yet published. Pending is a version that is pending approval. Published is a version that was live and has been replaced by a new version.
live, draft, pending, published Show child attributes
Entity storage path in the format: project/folder/subfolder/...
The first element identifies the project, followed by nested folders (auto-created as needed).
With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
"Default"
Array of memory store identifiers. Accepts both memory store IDs and keys.
The agents that are accessible to this orchestrator. The main agent can hand off to these agents to perform tasks.
Show child attributes
1Show child attributes
Show child attributes
Extracted variables from agent instructions
Show child attributes
Agent knowledge bases reference
Show child attributes
Was this page helpful?