Update Agent Config
Partially update a stored agent config; only fields present in the request body are changed.
persistent_workspace and repos are both patchable — an explicit null on
repos clears the override back to the deployment default, while the
always-present fields (name, system_prompt, harness, allowed_tools, model, and
persistent_workspace) reject an explicit null. Because persistent_workspace
and repos are read when a task is created and are fixed for a task’s life,
changing them affects only tasks created afterward, not one already running. The
optional task_id query parameter opts into a live-config side effect: after
the row is persisted, the changed pass-through fields (system_prompt, model,
harness, and allowed_tools split into harness tools versus MCP servers) are
shallow-merged into that running task’s params on Agentex in a background task so
the worker picks them up on its next turn; persistent_workspace and repos
are intentionally not forwarded to a running task. That side effect runs after
the response is sent, is best-effort, and no-ops if the task does not exist or the
caller does not own it. A user caller can only update a config they created unless
fine-grained access control grants access.
Update Agent Config
package main
import (
"context"
"fmt"
"github.com/scaleapi/sgp-dev-go"
"github.com/scaleapi/sgp-dev-go/option"
)
func main() {
client := sgpdev.NewClient(
option.WithAPIKey("My API Key"),
option.WithAccountID("My Account ID"),
)
agentConfig, err := client.AgentConfigs.Update(
context.TODO(),
"agent_config_id",
sgpdev.AgentConfigUpdateParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", agentConfig.ID)
}
{
"id": "id",
"allowed_tools": [
"string"
],
"created_at": "2019-12-27T18:11:19.117Z",
"harness": "harness",
"model": "model",
"name": "name",
"system_prompt": "system_prompt",
"updated_at": "2019-12-27T18:11:19.117Z",
"description": "description",
"object": "agent_config",
"persistent_workspace": true,
"repos": [
{
"url": "x",
"depth": 1,
"path": "path"
}
]
}Returns Examples
{
"id": "id",
"allowed_tools": [
"string"
],
"created_at": "2019-12-27T18:11:19.117Z",
"harness": "harness",
"model": "model",
"name": "name",
"system_prompt": "system_prompt",
"updated_at": "2019-12-27T18:11:19.117Z",
"description": "description",
"object": "agent_config",
"persistent_workspace": true,
"repos": [
{
"url": "x",
"depth": 1,
"path": "path"
}
]
}