Skip to content
Streamkap
Esc
↑↓navigate↵open⌘Jpreview

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.

PUT/agents/{job_id}/config
Authorization
AuthorizationBearer token · headerrequired
Path parameters
job_idstringrequired
Request body
requiredapplication/json
descriptionstring | null

Human-readable context for the agent

Show properties
Any of:
string
string
null
null
enabledboolean | null

Kill switch — set false to disable output emission without cancel/redeploy.

Show properties
Any of:
boolean
boolean
null
null
inputAgentInputConfig | null
Show properties
Any of:
AgentInputConfig
topicPatternstringrequired

Regex pattern for input topics, e.g. '^(orders)$'

min length 1 · max length 1024
inputSerializationAgentSerializationEnum

Input deserialization format

Allowed:JsonConfluentAvroConfluent
fieldsstring[] | null

Column-level filter - only these fields sent to LLM

Show properties
Any of:
string[]
Array of string
string
null
null
createTableSQLstring | null

Flink SQL CREATE TABLE (required if filterSQL is set)

Show properties
Any of:
string
string
null
null
filterSQLstring | null

WHERE clause predicate for row-level filtering

Show properties
Any of:
string
string
null
null
null
null
outputAgentOutputConfig | null
Show properties
Any of:
AgentOutputConfig
topicstringrequired

Fixed output topic name

min length 1 · max length 249
deadLetterTopicstring | null

DLQ topic name

Show properties
Any of:
string
string
null
null
outputSerializationAgentSerializationEnum

Output serialization format

Allowed:JsonConfluentAvroConfluent
schemaobject

Output schema: {field_name: TYPE_STRING}

null
null
llmAgentLlmConfig | null
Show properties
Any of:
AgentLlmConfig
providerAgentLlmProviderEnumrequired

Unified 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.

Allowed:anthropicopenaiopenai-responsesollamaazureazure-openaibedrockqwenopenai-compatible
modelstringrequired

Model name, e.g. claude-sonnet-4-20250514

min length 1
apiKeystring

API key - use '${SECRET:ENV_VAR_NAME}' for env var resolution. Empty when llmConnectionId is set.

max length 512 · default: ""
llmConnectionIdstring | null

Tenant-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 properties
Any of:
string
string
null
null
baseUrlstring | null

Base URL for OpenAI-compatible proxies

Show properties
Any of:
string
string
null
null
temperaturenumber | null

Sampling temperature (null = matrix-skipped)

Show properties
Any of:
number
number
null
null
maxTokensinteger | null

Max output tokens (null = matrix-skipped)

Show properties
Any of:
integer
integer
null
null
timeoutinteger | null

Request timeout in seconds (null = matrix-skipped)

Show properties
Any of:
integer
integer
null
null
reasoningEffortstring | null

OpenAI / 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 properties
Any of:
string
string
null
null
thinkingBudgetTokensinteger | null

Anthropic Claude 4 extended-thinking budget (tokens). Non-null enables thinking.

Show properties
Any of:
integer
integer
null
null
ollamaThinkboolean | null

Ollama 'think' toggle for reasoning models

Show properties
Any of:
boolean
boolean
null
null
maxRetriesinteger | null

Universal — max retry attempts on LLM call. Accepted by every provider.

Show properties
Any of:
integer
integer
null
null
regionstring | null

Bedrock: AWS region (e.g. us-east-1). Ignored for non-bedrock providers.

Show properties
Any of:
string
string
null
null
strictboolean | null

openai-responses: enable JSON-schema strict mode.

Show properties
Any of:
boolean
boolean
null
null
storeboolean | null

openai-responses: server-side response storage flag.

Show properties
Any of:
boolean
boolean
null
null
instructionsstring | null

openai-responses: system-level instructions passed as a top-level Responses param.

Show properties
Any of:
string
string
null
null
additionalKwargsobject | null

openai-responses / azure-openai: free-form extra request params forwarded verbatim by the runtime.

Show properties
Any of:
object
object
null
null
apiVersionstring | null

azure-openai: Azure OpenAI API version (e.g. '2024-02-01'). Required for azure-openai.

Show properties
Any of:
string
string
null
null
azureEndpointstring | null

azure-openai: Azure resource endpoint (e.g. https://<resource>.openai.azure.com). Required.

Show properties
Any of:
string
string
null
null
azureUrlPathModestring | null

azure-openai: URL path resolution — AUTO / LEGACY / UNIFIED. Optional.

Show properties
Any of:
string
string
null
null
null
null
promptsAgentPromptConfig | null
Show properties
Any of:
AgentPromptConfig
systemstring

Assembled system prompt (auto-generated by backend)

max length 8000 · default: ""
customInstructionsstring

User-provided instructions appended to the auto-generated prompt

max length 8000 · default: ""
userstring

User prompt template - {input_json} is replaced with the input record

max length 2000 · default: "<record>{input_json}</record>"
null
null
mcpServerAgentMcpServerConfig | null
Show properties
Any of:
AgentMcpServerConfig
projectKeyIdstring | null

ID 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 properties
Any of:
string
string
null
null
serverUrlstring | null

External MCP server URL. Required when projectKeyId is unset. Server-stamped from the PK row when projectKeyId is set.

Show properties
Any of:
string
string
null
null
headersobject

Auth headers for MCP server

null
null
toolsAgentToolConfig[] | null
Show properties
Any of:
AgentToolConfig[]
Array of AgentToolConfig
namestringrequired

Tool name (must be unique)

min length 1 · max length 100
typeAgentToolTypeEnumrequired

Tool type: http, transform, or mcp

Allowed:httptransformmcp
descriptionstring

Tool description for the LLM

max length 2000 · default: ""
configobject

Type-specific configuration

parametersAgentToolParameterConfig[]

Tool parameters the LLM can provide

Show properties
Array of AgentToolParameterConfig
namestringrequired

Parameter name

min length 1 · max length 100
typestring

Parameter type (string, number, boolean)

max length 50 · default: "string"
descriptionstring

Parameter description for the LLM

max length 2000 · default: ""
null
null
memoryAgentMemoryConfig | null
Show properties
Any of:
AgentMemoryConfig
keyFieldstring | null

Field to partition memory by (e.g. 'customer_id'). Default: topic key

Show properties
Any of:
string
string
null
null
shortTermAgentShortTermMemoryConfig

Short-term (conversation) memory config.

Show properties
enabledboolean

Enable short-term memory

default: false
ttlMsinteger

Time-to-live in milliseconds (default: 1 hour)

min 0 · default: 3600000
maxEntriesinteger

Max conversation entries per key

min 1 · max 100 · default: 20
longTermAgentLongTermMemoryConfig

Long-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 properties
enabledboolean

Enable long-term memory

default: false
vectorStoreConnectionIdstring | null

Reference to a saved AgentVectorStoreConnection. Resolved at deploy time.

Show properties
Any of:
string
string
null
null
namespacestring | null

Per-agent namespace override (falls back to connection's defaultNamespace)

Show properties
Any of:
string
string
null
null
destinationIdstring | null

(Legacy) ObjectId of a Pinecone destination connector. Prefer vectorStoreConnectionId.

Show properties
Any of:
string
string
null
null
null
null
knowledgeBasesAgentKnowledgeBaseRef[] | null

Knowledge bases this agent can query at runtime for RAG

Show properties
Any of:
AgentKnowledgeBaseRef[]
Array of AgentKnowledgeBaseRef
idstringrequired

Knowledge base entity ID

min length 1 · max length 64
namestring

Display name (denormalized for UI)

max length 200 · default: ""
null
null
processingAgentProcessingConfig | null
Show properties
Any of:
AgentProcessingConfig
parallelisminteger

Parallelism

min 1 · max 128 · default: 1
checkpointIntervalMininteger

Checkpoint interval in minutes

min 1 · max 60 · default: 5
maxIterationsinteger

Max tool-call iterations per record (react type only)

min 1 · max 25 · default: 10
maxTokensPerHourinteger

Per-TaskManager rolling-hour token budget. 0 = unlimited. When exceeded, records pass through with a _budget_exceeded: true marker.

min 0 · default: 0
null
null
changeNotestring | null
Show properties
Any of:
string
string
null
null
Responses
200

Successful Response

_idstringrequired
namestringrequired
job_typeapp__models__api__agents_api_models__flink_jobs__FlinkJobTypeEnumrequired
Allowed:pyflinkjaragent_configknowledge_base
statusFlinkJobStatusEnumrequired
Allowed:CREATEDDEPLOYINGRUNNINGCANCELLINGCANCELLEDFAILEDFINISHED
desired_statusFlinkJobStatusEnum | null
Show properties
Any of:
FlinkJobStatusEnum
string
null
null
flink_job_namestringrequired
flink_job_idstring | null
Show properties
Any of:
string
string
null
null
parallelisminteger
default: 1
error_messagestring | null
Show properties
Any of:
string
string
null
null
agent_configobject | null
Show properties
Any of:
object
object
null
null
created_bystring | null
Show properties
Any of:
string
string
null
null
created_timestampstring<date-time> | null
Show properties
Any of:
string<date-time>
string<date-time>
null
null
updated_timestampstring<date-time> | null
Show properties
Any of:
string<date-time>
string<date-time>
null
null
422

Validation Error

detailValidationError[]
Show properties
Array of ValidationError
locstring | integer[]required
Show properties
Array of string | integer
Any of:
string
string
integer
integer
msgstringrequired
typestringrequired
inputany
ctxobject
Request
curl -X PUT 'https://api.streamkap.com/agents/string/config' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "description": "string",
  "enabled": true,
  "input": {
    "topicPattern": "string",
    "inputSerialization": "JsonConfluent",
    "fields": [
      "string"
    ],
    "createTableSQL": "string",
    "filterSQL": "string"
  },
  "output": {
    "topic": "string",
    "deadLetterTopic": "string",
    "outputSerialization": "JsonConfluent",
    "schema": {
      "property1": "STRING",
      "property2": "STRING"
    }
  },
  "llm": {
    "provider": "anthropic",
    "model": "string",
    "apiKey": "",
    "llmConnectionId": "string",
    "baseUrl": "string",
    "temperature": 0,
    "maxTokens": 1,
    "timeout": 1,
    "reasoningEffort": "none",
    "thinkingBudgetTokens": 0,
    "ollamaThink": true,
    "maxRetries": 0,
    "region": "string",
    "strict": true,
    "store": true,
    "instructions": "string",
    "additionalKwargs": {},
    "apiVersion": "string",
    "azureEndpoint": "string",
    "azureUrlPathMode": "AUTO"
  },
  "prompts": {
    "system": "",
    "customInstructions": "",
    "user": "<record>{input_json}</record>"
  },
  "mcpServer": {
    "projectKeyId": "string",
    "serverUrl": "string",
    "headers": {
      "property1": "string",
      "property2": "string"
    }
  },
  "tools": [
    {
      "name": "string",
      "type": "http",
      "description": "",
      "config": {},
      "parameters": [
        {
          "name": "string",
          "type": "string",
          "description": ""
        }
      ]
    }
  ],
  "memory": {
    "keyField": "string",
    "shortTerm": {
      "enabled": false,
      "ttlMs": 3600000,
      "maxEntries": 20
    },
    "longTerm": {
      "enabled": false,
      "vectorStoreConnectionId": "string",
      "namespace": "string",
      "destinationId": "string"
    }
  },
  "knowledgeBases": [
    {
      "id": "string",
      "name": ""
    }
  ],
  "processing": {
    "parallelism": 1,
    "checkpointIntervalMin": 5,
    "maxIterations": 10,
    "maxTokensPerHour": 0
  },
  "changeNote": "string"
}'
Response
{
  "_id": "string",
  "name": "string",
  "job_type": "pyflink",
  "status": "CREATED",
  "desired_status": "CREATED",
  "flink_job_name": "string",
  "flink_job_id": "string",
  "parallelism": 1,
  "error_message": "string",
  "agent_config": {},
  "created_by": "string",
  "created_timestamp": "2019-08-24T14:15:22Z",
  "updated_timestamp": "2019-08-24T14:15:22Z"
}