Update Agent Config
Update a config-based agent’s config and redeploy.
Merges the provided fields into the existing config, then triggers savepoint -> cancel -> redeploy with the new config. The caller’s email is recorded on the paired history row (M3) - for admin-app mode this is the admin’s email, not the tenant user’s.
/agents/{job_id}/configAuthorizationBearer token · headerrequiredjob_idstringrequiredapplication/jsondescriptionstring | nullHuman-readable context for the agent
Show propertiesHide properties
stringnullenabledboolean | nullKill switch — set false to disable output emission without cancel/redeploy.
Show propertiesHide properties
booleannullinputAgentInputConfig | nullShow propertiesHide properties
topicPatternstringrequiredRegex pattern for input topics, e.g. '^(orders)$'
inputSerializationAgentSerializationEnumInput deserialization format
JsonConfluentAvroConfluentfieldsstring[] | nullColumn-level filter - only these fields sent to LLM
Show propertiesHide properties
stringstringnullcreateTableSQLstring | nullFlink SQL CREATE TABLE (required if filterSQL is set)
Show propertiesHide properties
stringnullfilterSQLstring | nullWHERE clause predicate for row-level filtering
Show propertiesHide properties
stringnullnulloutputAgentOutputConfig | nullShow propertiesHide properties
topicstringrequiredFixed output topic name
deadLetterTopicstring | nullDLQ topic name
Show propertiesHide properties
stringnulloutputSerializationAgentSerializationEnumOutput serialization format
JsonConfluentAvroConfluentschemaobjectOutput schema: {field_name: TYPE_STRING}
nullllmAgentLlmConfig | nullShow propertiesHide properties
providerAgentLlmProviderEnumrequiredUnified LLM provider enum.
A single AgentLlmConnection row carries one provider and a set of
capabilities (chat / embedding). PROVIDER_CAPABILITIES below pins
which capabilities each provider can serve — picked by the FE Connections
drawer and re-validated server-side on every write.
anthropicopenaiopenai-responsesollamaazureazure-openaibedrockqwenopenai-compatiblemodelstringrequiredModel name, e.g. claude-sonnet-4-20250514
apiKeystringAPI key - use '${SECRET:ENV_VAR_NAME}' for env var resolution. Empty when llmConnectionId is set.
llmConnectionIdstring | nullTenant-scoped reference to agent_connections.llmConnections[].id. When set with an empty apiKey, the BE resolves the real key server-side at deploy and at test-run.
Show propertiesHide properties
stringnullbaseUrlstring | nullBase URL for OpenAI-compatible proxies
Show propertiesHide properties
stringnulltemperaturenumber | nullSampling temperature (null = matrix-skipped)
Show propertiesHide properties
numbernullmaxTokensinteger | nullMax output tokens (null = matrix-skipped)
Show propertiesHide properties
integernulltimeoutinteger | nullRequest timeout in seconds (null = matrix-skipped)
Show propertiesHide properties
integernullreasoningEffortstring | nullOpenAI / GPT-5 reasoning effort. The accepted set is per-model: the matrix in app/utils/llm_capabilities.py rejects values not in caps.reasoning_effort_values for the chosen provider+model.
Show propertiesHide properties
stringnullthinkingBudgetTokensinteger | nullAnthropic Claude 4 extended-thinking budget (tokens). Non-null enables thinking.
Show propertiesHide properties
integernullollamaThinkboolean | nullOllama 'think' toggle for reasoning models
Show propertiesHide properties
booleannullmaxRetriesinteger | nullUniversal — max retry attempts on LLM call. Accepted by every provider.
Show propertiesHide properties
integernullregionstring | nullBedrock: AWS region (e.g. us-east-1). Ignored for non-bedrock providers.
Show propertiesHide properties
stringnullstrictboolean | nullopenai-responses: enable JSON-schema strict mode.
Show propertiesHide properties
booleannullstoreboolean | nullopenai-responses: server-side response storage flag.
Show propertiesHide properties
booleannullinstructionsstring | nullopenai-responses: system-level instructions passed as a top-level Responses param.
Show propertiesHide properties
stringnulladditionalKwargsobject | nullopenai-responses / azure-openai: free-form extra request params forwarded verbatim by the runtime.
Show propertiesHide properties
objectnullapiVersionstring | nullazure-openai: Azure OpenAI API version (e.g. '2024-02-01'). Required for azure-openai.
Show propertiesHide properties
stringnullazureEndpointstring | nullazure-openai: Azure resource endpoint (e.g. https://<resource>.openai.azure.com). Required.
Show propertiesHide properties
stringnullazureUrlPathModestring | nullazure-openai: URL path resolution — AUTO / LEGACY / UNIFIED. Optional.
Show propertiesHide properties
stringnullnullpromptsAgentPromptConfig | nullShow propertiesHide properties
systemstringAssembled system prompt (auto-generated by backend)
customInstructionsstringUser-provided instructions appended to the auto-generated prompt
userstringUser prompt template - {input_json} is replaced with the input record
nullmcpServerAgentMcpServerConfig | nullShow propertiesHide properties
projectKeyIdstring | nullID of an agentic-enabled Project Key. When set, deploy-time resolves the Streamkap MCP serverUrl + auth header from the PK row. Mutually exclusive with serverUrl - one or the other, never both.
Show propertiesHide properties
stringnullserverUrlstring | nullExternal MCP server URL. Required when projectKeyId is unset. Server-stamped from the PK row when projectKeyId is set.
Show propertiesHide properties
stringnullheadersobjectAuth headers for MCP server
nulltoolsAgentToolConfig[] | nullShow propertiesHide properties
AgentToolConfignamestringrequiredTool name (must be unique)
typeAgentToolTypeEnumrequiredTool type: http, transform, or mcp
httptransformmcpdescriptionstringTool description for the LLM
configobjectType-specific configuration
parametersAgentToolParameterConfig[]Tool parameters the LLM can provide
Show propertiesHide properties
AgentToolParameterConfignamestringrequiredParameter name
typestringParameter type (string, number, boolean)
descriptionstringParameter description for the LLM
nullmemoryAgentMemoryConfig | nullShow propertiesHide properties
keyFieldstring | nullField to partition memory by (e.g. 'customer_id'). Default: topic key
Show propertiesHide properties
stringnullshortTermAgentShortTermMemoryConfigShort-term (conversation) memory config.
Show propertiesHide properties
enabledbooleanEnable short-term memory
ttlMsintegerTime-to-live in milliseconds (default: 1 hour)
maxEntriesintegerMax conversation entries per key
longTermAgentLongTermMemoryConfigLong-term (vector store) memory config.
References a saved AgentVectorStoreConnection by id. At deploy time
the resolver reads the connection's apiKey + endpoint and composes
the inline vectorStore block the Java runtime expects.
Legacy agents may still carry destinationId (a Pinecone destination
connector from the old flow). The deploy resolver handles both: if
vectorStoreConnectionId is set it wins; otherwise it falls back to
the legacy destinationId path. New agents created through the FE
always use vectorStoreConnectionId.
Show propertiesHide properties
enabledbooleanEnable long-term memory
vectorStoreConnectionIdstring | nullReference to a saved AgentVectorStoreConnection. Resolved at deploy time.
Show propertiesHide properties
stringnullnamespacestring | nullPer-agent namespace override (falls back to connection's defaultNamespace)
Show propertiesHide properties
stringnulldestinationIdstring | null(Legacy) ObjectId of a Pinecone destination connector. Prefer vectorStoreConnectionId.
Show propertiesHide properties
stringnullnullknowledgeBasesAgentKnowledgeBaseRef[] | nullKnowledge bases this agent can query at runtime for RAG
Show propertiesHide properties
AgentKnowledgeBaseRefidstringrequiredKnowledge base entity ID
namestringDisplay name (denormalized for UI)
nullprocessingAgentProcessingConfig | nullShow propertiesHide properties
parallelismintegerParallelism
checkpointIntervalMinintegerCheckpoint interval in minutes
maxIterationsintegerMax tool-call iterations per record (react type only)
maxTokensPerHourintegerPer-TaskManager rolling-hour token budget. 0 = unlimited. When exceeded, records pass through with a _budget_exceeded: true marker.
nullchangeNotestring | nullShow propertiesHide properties
stringnullSuccessful Response
_idstringrequirednamestringrequiredjob_typeapp__models__api__agents_api_models__flink_jobs__FlinkJobTypeEnumrequiredpyflinkjaragent_configknowledge_basestatusFlinkJobStatusEnumrequiredCREATEDDEPLOYINGRUNNINGCANCELLINGCANCELLEDFAILEDFINISHEDdesired_statusFlinkJobStatusEnum | nullShow propertiesHide properties
stringnullflink_job_namestringrequiredflink_job_idstring | nullShow propertiesHide properties
stringnullparallelismintegererror_messagestring | nullShow propertiesHide properties
stringnullagent_configobject | nullShow propertiesHide properties
objectnullcreated_bystring | nullShow propertiesHide properties
stringnullcreated_timestampstring<date-time> | nullShow propertiesHide properties
string<date-time>nullupdated_timestampstring<date-time> | nullShow propertiesHide properties
string<date-time>nullValidation Error
detailValidationError[]Show propertiesHide properties
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
string | integerstringintegermsgstringrequiredtypestringrequiredinputanyctxobject