Update Custom Tool
Updates mutable custom tool fields. Only supplied fields change; changing the code bumps the version. Requires a token with write access.
Authorizations
Conduit API token. Use Authorization: Bearer <token>. Read/write endpoints require a token with write access.
Path Parameters
Custom tool id.
"kg77c0dy0mgdpzmqz6tesry8w184002s"
Query Parameters
Optional workspace override. If omitted, Conduit resolves the tool's workspace automatically.
"j57demo8f8x7c9v0n2q4r6t8y1u3i5o"
Body
Request body for patching a custom code tool. Only supplied fields are changed. Changing code bumps the tool's version.
Unique tool name within the workspace. Lowercase kebab-case (e.g. lookup-order-status), at most 64 characters. This is how the agent references the tool.
1 - 64^[a-z0-9]+(?:-[a-z0-9]+)*$1024Runtime the tool's code is executed in. Determines the entrypoint signature and which dependencies are available (see GET /v1/custom-tools/runtimes).
python, javascript The tool's source code. Must define a single entrypoint named main.
Python: def main(**params): — parameters arrive as keyword args. Return a dict containing a string message key, optionally a rawData key with structured data.
JavaScript: async function main(params) { ... } — parameters arrive as a single object. Return an object containing a string message key, optionally a rawData key.
Writes statically validate that the code defines main and includes a return statement; runtime execution validates the returned object.
Standard library modules are always importable. A curated set of third-party packages installs automatically on first import. Query GET /v1/custom-tools/runtimes for the exact signature, return contract, and available dependencies per language.
1Parameters the tool accepts, keyed by parameter name. Each becomes a key in the params object/dict passed to main.
Response
Custom tool updated
Single custom code tool response.