Skip to main content
POST
Update Agent Version
Use this API to update behavioral/version fields. This creates a new version N+1 in the versions subcollection and bumps the version pointer on the root document. Only supported for custom agents. In-flight executions stay pinned to whatever version they started on, so updating a version never disturbs a running execution. The schema uses .passthrough(), so additional behavioral fields are forwarded to the service layer.
The merge is one level deep. Each top-level block you send (contextGathering, execution, response, postProcess, input, scope, setup) is merged onto its stored counterpart, but anything nested inside is replaced wholesale, not merged.So sending { "scope": { "crossPage": { "enabled": false, "targetProperty": "brandConsistency", "pageDiscovery": "auto" } } } does not just flip enabled. It replaces the whole crossPage object, silently discarding the stored pages list and sourceOfTruthKnowledgeSourceId, and returns 200. Nothing warns you. The same applies to execution.mcpServers, input.userContextFields, and contextGathering.strategyOptions: send the complete nested object every time, not just the keys you want to change.Drop a required key and you get the louder failure instead: { "scope": { "crossPage": { "enabled": false } } } is rejected with INVALID_ARGUMENT, because targetProperty and pageDiscovery are required whenever crossPage is present.Fetch the current config with Get Agent first, apply your change to the full nested object, and send that. Read the credential warning below before you do.
Never send a redacted secret back. Get Agent returns auth secrets as the literal string "__redacted__". This endpoint has no special handling for that value, so a fetch-modify-send round trip stores "__redacted__" as the real credential and the server starts failing authentication at execution time, not at update time.To change something else on an agent that has stored secrets, either omit execution.mcpServers and contextGathering.strategyOptions from your patch entirely, or re-send every object with its real plaintext secret. Rotating a secret is the same operation: send the new plaintext value.

Endpoint

POST https://api.velt.dev/v2/agents/version/update

Headers

string
required
Your API key.
string
required

Body

Params

object
required

Example Requests

1. Update instructions and post-processing

2. Update context gathering strategies

3. Enable cross-page via scope

Response

Success Response

Failure Response

Errors: INVALID_ARGUMENT (validation failure, including a nested block that lost required fields to the one-level merge, or blanking instructions on an agent whose effective executionStrategy still requires a prompt) / NOT_FOUND (agent does not exist).
instructions is re-validated against the merged result, not against your patch alone. The merged instructions must be non-empty whenever the merged executionStrategy is "ai", "service+ai", "stagehand-agent", or "mcp-tools". Whitespace-only counts as empty.So clearing instructions on an existing AI agent is rejected, even though the field is optional on this endpoint.