Updates a reusable agent. See agent configuration.
Update an agent
package main
import (
"context"
"log"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/packages/param"
)
func main() {
client := openai.NewClient()
ctx := context.Background()
agentID := "your-agent-id"
// 1. Omit reasoning: keep its current settings while renaming the agent.
_, err := client.Beta.Agents.Update(ctx, agentID, openai.BetaAgentUpdateParams{
Name: openai.String("Renamed"),
})
if err != nil {
log.Fatal(err)
}
// 2. Send null: reset reasoning to the model's defaults.
_, err = client.Beta.Agents.Update(ctx, agentID, openai.BetaAgentUpdateParams{
Reasoning: param.NullStruct[openai.AgentReasoningParam](),
})
if err != nil {
log.Fatal(err)
}
// 3. Send an object: replace the entire reasoning configuration, without merging.
// The agent's model must support the "low" reasoning effort.
_, err = client.Beta.Agents.Update(ctx, agentID, openai.BetaAgentUpdateParams{
Reasoning: openai.AgentReasoningParam{Effort: openai.AgentReasoningParamEffortLow},
})
if err != nil {
log.Fatal(err)
}
}
{
"id": "id",
"created_at": 0,
"instructions": "instructions",
"metadata": {
"foo": "string"
},
"model": "model",
"multi_agent": {
"enabled": true,
"max_concurrent_subagents": 1
},
"name": "name",
"object": "agent",
"reasoning": {
"effort": "none",
"summary": "concise"
},
"service_tier": "auto",
"text": {
"format": {
"type": "text"
},
"verbosity": "low"
},
"tools": [
{
"defer_loading": true,
"description": "description",
"name": "name",
"parameters": {
"foo": "bar"
},
"type": "function"
}
],
"updated_at": 0
}Returns Examples
{
"id": "id",
"created_at": 0,
"instructions": "instructions",
"metadata": {
"foo": "string"
},
"model": "model",
"multi_agent": {
"enabled": true,
"max_concurrent_subagents": 1
},
"name": "name",
"object": "agent",
"reasoning": {
"effort": "none",
"summary": "concise"
},
"service_tier": "auto",
"text": {
"format": {
"type": "text"
},
"verbosity": "low"
},
"tools": [
{
"defer_loading": true,
"description": "description",
"name": "name",
"parameters": {
"foo": "bar"
},
"type": "function"
}
],
"updated_at": 0
}