PUT /agents/configs/{config_id}
Replace an agent's definition, by id or by the agent's name.
The whole definition is replaced, and the change is live at once. Only for agents managed through this API: one defined by a repository file is a 409, since the next push to that file would revert the change — unlink it first to take ownership.
curl -X PUT "https://api.ellipsis.dev/v1/agents/configs/{config_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"config":"..."}'{
"config": {
"agent_config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {
"path": "string",
"repository": {
"name": "string",
"owner": "string",
"ref": "string"
}
},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {
"annotations": {},
"labels": []
},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {
"cpu": 0,
"memory": "string",
"timeout": "string"
},
"hooks": {
"post_clone": "string",
"post_start": "string"
},
"image": {
"dockerfile_append": "string",
"setup": "string"
},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {
"permissions": "string",
"repositories": [
"string"
]
}
},
"skills": [],
"trigger": "string"
},
"agent_config_source_details": {
"branch": "string",
"path": "string",
"repo_id": 0
},
"created_at": "2026-01-01T00:00:00Z",
"display_name": "string",
"edited_by": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
},
"id": "string",
"last_session_created_at": "2026-01-01T00:00:00Z",
"last_session_id": "string",
"last_sync_error": "string",
"last_synced_commit_sha": "string",
"managed_by": "github",
"name": "string",
"pending_pull_request_url": "string",
"sha": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
}import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.agents.configs.update("...", "...")
print(result){
"config": {
"agent_config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {
"path": "string",
"repository": {
"name": "string",
"owner": "string",
"ref": "string"
}
},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {
"annotations": {},
"labels": []
},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {
"cpu": 0,
"memory": "string",
"timeout": "string"
},
"hooks": {
"post_clone": "string",
"post_start": "string"
},
"image": {
"dockerfile_append": "string",
"setup": "string"
},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {
"permissions": "string",
"repositories": [
"string"
]
}
},
"skills": [],
"trigger": "string"
},
"agent_config_source_details": {
"branch": "string",
"path": "string",
"repo_id": 0
},
"created_at": "2026-01-01T00:00:00Z",
"display_name": "string",
"edited_by": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
},
"id": "string",
"last_session_created_at": "2026-01-01T00:00:00Z",
"last_session_id": "string",
"last_sync_error": "string",
"last_synced_commit_sha": "string",
"managed_by": "github",
"name": "string",
"pending_pull_request_url": "string",
"sha": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
}import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.agents.configs.update('...', { config: '...' });
console.log(result);{
"config": {
"agent_config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {
"path": "string",
"repository": {
"name": "string",
"owner": "string",
"ref": "string"
}
},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {
"annotations": {},
"labels": []
},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {
"cpu": 0,
"memory": "string",
"timeout": "string"
},
"hooks": {
"post_clone": "string",
"post_start": "string"
},
"image": {
"dockerfile_append": "string",
"setup": "string"
},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {
"permissions": "string",
"repositories": [
"string"
]
}
},
"skills": [],
"trigger": "string"
},
"agent_config_source_details": {
"branch": "string",
"path": "string",
"repo_id": 0
},
"created_at": "2026-01-01T00:00:00Z",
"display_name": "string",
"edited_by": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
},
"id": "string",
"last_session_created_at": "2026-01-01T00:00:00Z",
"last_session_id": "string",
"last_sync_error": "string",
"last_synced_commit_sha": "string",
"managed_by": "github",
"name": "string",
"pending_pull_request_url": "string",
"sha": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
}{
"properties": {
"config": {
"additionalProperties": false,
"properties": {
"budget": {
"additionalProperties": false,
"properties": {
"day": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"month": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"session": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"week": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"claude": {
"additionalProperties": false,
"properties": {
"effort": {
"anyOf": [
{
"enum": [
"low",
"medium",
"high",
"xhigh",
"max"
],
"type": "string"
},
{
"type": "null"
}
]
},
"fallback_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"max_turns": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"model": {
"default": "claude-opus-5",
"type": "string"
},
"settings": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"repository": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"path"
],
"type": "object"
},
{
"type": "null"
}
]
},
"system": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"file": {
"type": "string"
},
"repository": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"file"
],
"type": "object"
},
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"type": "array"
}
],
"default": ""
}
},
"type": "object"
},
"codex": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"model": {
"default": "gpt-5.6-terra",
"type": "string"
},
"system": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"file": {
"type": "string"
},
"repository": {
"type": "object"
}
},
"required": [
"file"
],
"type": "object"
},
{
"items": {
"type": "object"
},
"type": "array"
}
],
"default": ""
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"ellipsis": {
"additionalProperties": false,
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"enabled": {
"default": true,
"type": "boolean"
},
"interactive": {
"default": true,
"type": "boolean"
},
"metadata": {
"additionalProperties": false,
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"default": {},
"type": "object"
},
"labels": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"version": {
"default": "v1",
"type": "string"
}
},
"type": "object"
},
"environment": {
"additionalProperties": false,
"properties": {
"compute": {
"additionalProperties": false,
"properties": {
"cpu": {
"anyOf": [
{
"maximum": 16,
"minimum": 0.125,
"type": "number"
},
{
"type": "null"
}
]
},
"memory": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"gb": {
"type": "object"
},
"mb": {
"type": "object"
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"timeout": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"hours": {
"type": "object"
},
"minutes": {
"type": "object"
},
"seconds": {
"type": "object"
}
},
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"hooks": {
"additionalProperties": false,
"properties": {
"post_clone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"post_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"image": {
"additionalProperties": false,
"properties": {
"dockerfile_append": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"setup": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"repositories": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ref": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"variables": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"input": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"json_schema": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
]
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"mcp_servers": {
"default": [],
"items": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
]
},
"type": "array"
},
"output": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"json_schema": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"json_schema"
],
"type": "object"
},
{
"type": "null"
}
]
},
"permissions": {
"additionalProperties": false,
"properties": {
"ellipsis": {
"anyOf": [
{
"enum": [
true,
"all"
]
},
{
"additionalProperties": {
"anyOf": [
{
"$ref": "#/components/schemas/Level"
},
{
"$ref": "#/components/schemas/EllipsisGrant"
},
{
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/Level"
},
{
"$ref": "#/components/schemas/EllipsisGrant"
}
]
},
"type": "array"
}
]
},
"propertyNames": {
"$ref": "#/components/schemas/Resource"
},
"type": "object"
}
],
"default": true
},
"github": {
"additionalProperties": false,
"properties": {
"permissions": {
"anyOf": [
{
"const": "read_only",
"type": "string"
},
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
]
},
"repositories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
},
"type": "object"
},
"skills": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"repository": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"owner": {
"type": "object"
},
"ref": {
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"path"
],
"type": "object"
},
"type": "array"
},
"trigger": {
"anyOf": [
{
"oneOf": [
{
"additionalProperties": false,
"properties": {
"schedule": {
"type": "string"
},
"type": {
"const": "cron",
"default": "cron",
"type": "string"
}
},
"required": [
"schedule"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"issue": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"linear_issue": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"pull_request": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"push": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"sentry": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"slack_channel": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"type": {
"const": "react",
"default": "react",
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"platforms": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"const": "mention",
"default": "mention",
"type": "string"
}
},
"type": "object"
}
]
},
{
"type": "null"
}
]
}
},
"type": "object"
}
},
"required": [
"config"
],
"type": "object"
}{
"properties": {
"config": {
"properties": {
"agent_config": {
"additionalProperties": false,
"properties": {
"budget": {
"additionalProperties": false,
"properties": {
"day": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"month": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"session": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"week": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"claude": {
"additionalProperties": false,
"properties": {
"effort": {
"anyOf": [
{
"enum": [
"low",
"medium",
"high",
"xhigh",
"max"
],
"type": "string"
},
{
"type": "null"
}
]
},
"fallback_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"max_turns": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"model": {
"default": "claude-opus-5",
"type": "string"
},
"settings": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"repository": {
"type": "object"
}
},
"required": [
"path"
],
"type": "object"
},
{
"type": "null"
}
]
},
"system": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"file": {
"type": "string"
},
"repository": {
"type": "object"
}
},
"required": [
"file"
],
"type": "object"
},
{
"items": {
"type": "object"
},
"type": "array"
}
],
"default": ""
}
},
"type": "object"
},
"codex": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"model": {
"default": "gpt-5.6-terra",
"type": "string"
},
"system": {
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array"
}
],
"default": ""
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"ellipsis": {
"additionalProperties": false,
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"enabled": {
"default": true,
"type": "boolean"
},
"interactive": {
"default": true,
"type": "boolean"
},
"metadata": {
"additionalProperties": false,
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"default": {},
"type": "object"
},
"labels": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"version": {
"default": "v1",
"type": "string"
}
},
"type": "object"
},
"environment": {
"additionalProperties": false,
"properties": {
"compute": {
"additionalProperties": false,
"properties": {
"cpu": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"memory": {
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "null"
}
]
},
"timeout": {
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"hooks": {
"additionalProperties": false,
"properties": {
"post_clone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"post_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"image": {
"additionalProperties": false,
"properties": {
"dockerfile_append": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"setup": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"repositories": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"owner": {
"type": "object"
},
"ref": {
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"variables": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"input": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"json_schema": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"mcp_servers": {
"default": [],
"items": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
]
},
"type": "array"
},
"output": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"json_schema": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"json_schema"
],
"type": "object"
},
{
"type": "null"
}
]
},
"permissions": {
"additionalProperties": false,
"properties": {
"ellipsis": {
"anyOf": [
{
"enum": [
true,
"all"
]
},
{
"additionalProperties": {
"anyOf": [
{
"$ref": "#/components/schemas/Level"
},
{
"$ref": "#/components/schemas/EllipsisGrant"
},
{
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/Level"
},
{
"$ref": "#/components/schemas/EllipsisGrant"
}
]
},
"type": "array"
}
]
},
"propertyNames": {
"$ref": "#/components/schemas/Resource"
},
"type": "object"
}
],
"default": true
},
"github": {
"additionalProperties": false,
"properties": {
"permissions": {
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "null"
}
]
},
"repositories": {
"anyOf": [
{
"type": "array"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
},
"type": "object"
},
"skills": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"repository": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"path"
],
"type": "object"
},
"type": "array"
},
"trigger": {
"anyOf": [
{
"oneOf": [
{
"additionalProperties": false,
"properties": {
"schedule": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"schedule"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"issue": {
"type": "object"
},
"linear_issue": {
"type": "object"
},
"pull_request": {
"type": "object"
},
"push": {
"type": "object"
},
"sentry": {
"type": "object"
},
"slack_channel": {
"type": "object"
},
"type": {
"type": "string"
}
},
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"platforms": {
"type": "array"
},
"type": {
"type": "string"
}
},
"type": "object"
}
]
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"agent_config_source_details": {
"anyOf": [
{
"properties": {
"branch": {
"type": "string"
},
"path": {
"type": "string"
},
"repo_id": {
"type": "integer"
}
},
"required": [
"repo_id",
"path",
"branch"
],
"type": "object"
},
{
"type": "null"
}
]
},
"created_at": {
"format": "date-time",
"type": "string"
},
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"edited_by": {
"anyOf": [
{
"properties": {
"avatar_url": {
"type": "string"
},
"id": {
"type": "integer"
},
"login": {
"type": "string"
},
"type": {
"enum": [
"User",
"Organization",
"Bot",
"Mannequin"
],
"type": "string"
}
},
"required": [
"id",
"login",
"type",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
]
},
"id": {
"type": "string"
},
"last_session_created_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"last_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"last_sync_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"last_synced_commit_sha": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"managed_by": {
"enum": [
"github",
"api"
],
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pending_pull_request_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sha": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"id",
"sha",
"created_at",
"updated_at",
"managed_by",
"agent_config"
],
"type": "object"
}
},
"required": [
"config"
],
"type": "object"
}Request
config_idstringrequired
configAgentConfigrequired
The agent's new definition. Replaces the previous one wholesale — this is not a partial update.