Skip to content

Update Agent Config

agent_configs.update(stragent_config_id, AgentConfigUpdateParams**kwargs) -> AgentConfigUpdateResponse
PATCH/v5/agent_configs/{agent_config_id}

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.

ParametersExpand Collapse
agent_config_id: str
task_id: Optional[str]

If set, after persisting the patch we shallow-merge the changed fields into this task’s params column on Agentex so the worker picks up the new values on its next turn. Caller-provided context — Agentex enforces task ownership via its own auth, so the side-effect no-ops if the caller doesn’t own the task.

allowed_tools: Optional[List[Literal["Read", "Write", "Edit", 34 more]]]
One of the following:
"Read"
"Write"
"Edit"
"Bash"
"Glob"
"Grep"
"List"
"WebFetch"
"WebSearch"
"Task"
"TodoWrite"
"NotebookEdit"
"ExitPlanMode"
"Slack"
"Linear"
"GitHub"
"Confluence"
"Notion"
"Datadog"
"PagerDuty"
"Salesforce"
"Figma"
"Granola"
"Jira"
"Gmail"
"GoogleCalendar"
"GoogleDrive"
"GoogleDocs"
"GoogleSheets"
"GoogleSlides"
"Snowflake"
"Redash"
"Tableau"
"Metabase"
"Gong"
"ZoomInfo"
"Clay"
description: Optional[str]
maxLength2000
harness: Optional[Literal["claude-code", "codex", "litellm"]]

Supported agent harness strategies.

Mirrors PROVIDERS in golden-agent’s project/harness/activity.py.

One of the following:
"claude-code"
"codex"
"litellm"
model: Optional[str]
maxLength255
minLength1
name: Optional[str]
maxLength255
minLength1
persistent_workspace: Optional[bool]
repos: Optional[Iterable[RepoSpecParam]]
url: str
maxLength2048
minLength1
depth: Optional[int]
minimum1
path: Optional[str]
maxLength1024
system_prompt: Optional[str]
maxLength100000
minLength1
ReturnsExpand Collapse
class AgentConfigUpdateResponse: …
id: str
allowed_tools: List[str]
created_at: datetime
formatdate-time
harness: str
model: str
name: str
system_prompt: str
updated_at: datetime
formatdate-time
description: Optional[str]
object: Optional[Literal["agent_config"]]
persistent_workspace: Optional[bool]
repos: Optional[List[RepoSpec]]
url: str
maxLength2048
minLength1
depth: Optional[int]
minimum1
path: Optional[str]
maxLength1024

Update Agent Config

import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
agent_config = client.agent_configs.update(
    agent_config_id="agent_config_id",
)
print(agent_config.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"
    }
  ]
}