Skip to content

Update Agent Config

client.AgentConfigs.Update(ctx, agentConfigID, params) (*AgentConfigUpdateResponse, error)
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
agentConfigID string
params AgentConfigUpdateParams
TaskID param.Field[string]Optional

Query param: 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.

AllowedTools param.Field[[]string]Optional

Body param

const AgentConfigUpdateParamsAllowedToolRead AgentConfigUpdateParamsAllowedTool = "Read"
const AgentConfigUpdateParamsAllowedToolWrite AgentConfigUpdateParamsAllowedTool = "Write"
const AgentConfigUpdateParamsAllowedToolEdit AgentConfigUpdateParamsAllowedTool = "Edit"
const AgentConfigUpdateParamsAllowedToolBash AgentConfigUpdateParamsAllowedTool = "Bash"
const AgentConfigUpdateParamsAllowedToolGlob AgentConfigUpdateParamsAllowedTool = "Glob"
const AgentConfigUpdateParamsAllowedToolGrep AgentConfigUpdateParamsAllowedTool = "Grep"
const AgentConfigUpdateParamsAllowedToolList AgentConfigUpdateParamsAllowedTool = "List"
const AgentConfigUpdateParamsAllowedToolWebFetch AgentConfigUpdateParamsAllowedTool = "WebFetch"
const AgentConfigUpdateParamsAllowedToolWebSearch AgentConfigUpdateParamsAllowedTool = "WebSearch"
const AgentConfigUpdateParamsAllowedToolTask AgentConfigUpdateParamsAllowedTool = "Task"
const AgentConfigUpdateParamsAllowedToolTodoWrite AgentConfigUpdateParamsAllowedTool = "TodoWrite"
const AgentConfigUpdateParamsAllowedToolNotebookEdit AgentConfigUpdateParamsAllowedTool = "NotebookEdit"
const AgentConfigUpdateParamsAllowedToolExitPlanMode AgentConfigUpdateParamsAllowedTool = "ExitPlanMode"
const AgentConfigUpdateParamsAllowedToolSlack AgentConfigUpdateParamsAllowedTool = "Slack"
const AgentConfigUpdateParamsAllowedToolLinear AgentConfigUpdateParamsAllowedTool = "Linear"
const AgentConfigUpdateParamsAllowedToolGitHub AgentConfigUpdateParamsAllowedTool = "GitHub"
const AgentConfigUpdateParamsAllowedToolConfluence AgentConfigUpdateParamsAllowedTool = "Confluence"
const AgentConfigUpdateParamsAllowedToolNotion AgentConfigUpdateParamsAllowedTool = "Notion"
const AgentConfigUpdateParamsAllowedToolDatadog AgentConfigUpdateParamsAllowedTool = "Datadog"
const AgentConfigUpdateParamsAllowedToolPagerDuty AgentConfigUpdateParamsAllowedTool = "PagerDuty"
const AgentConfigUpdateParamsAllowedToolSalesforce AgentConfigUpdateParamsAllowedTool = "Salesforce"
const AgentConfigUpdateParamsAllowedToolFigma AgentConfigUpdateParamsAllowedTool = "Figma"
const AgentConfigUpdateParamsAllowedToolGranola AgentConfigUpdateParamsAllowedTool = "Granola"
const AgentConfigUpdateParamsAllowedToolJira AgentConfigUpdateParamsAllowedTool = "Jira"
const AgentConfigUpdateParamsAllowedToolGmail AgentConfigUpdateParamsAllowedTool = "Gmail"
const AgentConfigUpdateParamsAllowedToolGoogleCalendar AgentConfigUpdateParamsAllowedTool = "GoogleCalendar"
const AgentConfigUpdateParamsAllowedToolGoogleDrive AgentConfigUpdateParamsAllowedTool = "GoogleDrive"
const AgentConfigUpdateParamsAllowedToolGoogleDocs AgentConfigUpdateParamsAllowedTool = "GoogleDocs"
const AgentConfigUpdateParamsAllowedToolGoogleSheets AgentConfigUpdateParamsAllowedTool = "GoogleSheets"
const AgentConfigUpdateParamsAllowedToolGoogleSlides AgentConfigUpdateParamsAllowedTool = "GoogleSlides"
const AgentConfigUpdateParamsAllowedToolSnowflake AgentConfigUpdateParamsAllowedTool = "Snowflake"
const AgentConfigUpdateParamsAllowedToolRedash AgentConfigUpdateParamsAllowedTool = "Redash"
const AgentConfigUpdateParamsAllowedToolTableau AgentConfigUpdateParamsAllowedTool = "Tableau"
const AgentConfigUpdateParamsAllowedToolMetabase AgentConfigUpdateParamsAllowedTool = "Metabase"
const AgentConfigUpdateParamsAllowedToolGong AgentConfigUpdateParamsAllowedTool = "Gong"
const AgentConfigUpdateParamsAllowedToolZoomInfo AgentConfigUpdateParamsAllowedTool = "ZoomInfo"
const AgentConfigUpdateParamsAllowedToolClay AgentConfigUpdateParamsAllowedTool = "Clay"
Description param.Field[string]Optional

Body param

maxLength2000
Harness param.Field[AgentConfigUpdateParamsHarness]Optional

Body param: Supported agent harness strategies.

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

const AgentConfigUpdateParamsHarnessClaudeCode AgentConfigUpdateParamsHarness = "claude-code"
const AgentConfigUpdateParamsHarnessCodex AgentConfigUpdateParamsHarness = "codex"
const AgentConfigUpdateParamsHarnessLitellm AgentConfigUpdateParamsHarness = "litellm"
Model param.Field[string]Optional

Body param

maxLength255
minLength1
Name param.Field[string]Optional

Body param

maxLength255
minLength1
PersistentWorkspace param.Field[bool]Optional

Body param

Repos param.Field[[]RepoSpec]Optional

Body param

URL string
maxLength2048
minLength1
Depth int64Optional
minimum1
Path stringOptional
maxLength1024
SystemPrompt param.Field[string]Optional

Body param

maxLength100000
minLength1
ReturnsExpand Collapse
type AgentConfigUpdateResponse struct{…}
ID string
AllowedTools []string
CreatedAt Time
formatdate-time
Harness string
Model string
Name string
SystemPrompt string
UpdatedAt Time
formatdate-time
Description stringOptional
Object AgentConfigUpdateResponseObjectOptional
PersistentWorkspace boolOptional
Repos []RepoSpecOptional
URL string
maxLength2048
minLength1
Depth int64Optional
minimum1
Path stringOptional
maxLength1024

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"
    }
  ]
}