---
title: "Changes to Update Custom Tool"
method: PUT
path: "/admin/tool/custom/{tool_id}"
---

# Changes to Update Custom Tool

`PUT /admin/tool/custom/{tool_id}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 3 of 14 revisions.

- **2026-09-02** `fcb09658bc37`: 2 info
- **2026-01-06** `2d941ea53eb3`: 18 info
- **2025-08-21** `9321c45d93b5`: 8 breaking, 9 warning, 1 info

## Changes

- **2026-09-02** `fcb09658bc37`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-01-06** `2d941ea53eb3`: 18 info
  - api tag `public` added
  - added the new optional request property `oauth_config_id`
  - added the optional property `agent_creation_selectable` to the response with the `200` status
  - added the optional property `chat_selectable` to the response with the `200` status
  - added the optional property `default_enabled` to the response with the `200` status
  - added the optional property `enabled` to the response with the `200` status
  - added the optional property `mcp_server_id` to the response with the `200` status
  - added the optional property `oauth_config_id` to the response with the `200` status
  - added the optional property `oauth_config_name` to the response with the `200` status
  - added the optional property `user_id` to the response with the `200` status
  - the response property `custom_headers` became required for the status `200`
  - the response property `definition` became required for the status `200`
  - the response property `description` became required for the status `200`
  - the response property `display_name` became required for the status `200`
  - the response property `id` became required for the status `200`
  - the response property `in_code_tool_id` became required for the status `200`
  - the response property `name` became required for the status `200`
  - the response property `passthrough_auth` became required for the status `200`
- **2025-08-21** `9321c45d93b5`: 8 breaking, 9 warning, 1 info
  - the response property `custom_headers` became optional for the status `200`
  - the response property `definition` became optional for the status `200`
  - the response property `description` became optional for the status `200`
  - the response property `display_name` became optional for the status `200`
  - the response property `id` became optional for the status `200`
  - the response property `in_code_tool_id` became optional for the status `200`
  - the response property `name` became optional for the status `200`
  - the response property `passthrough_auth` became optional for the status `200`
  - removed the request property `oauth_config_id`
  - removed the optional property `agent_creation_selectable` from the response with the `200` status
  - removed the optional property `chat_selectable` from the response with the `200` status
  - removed the optional property `default_enabled` from the response with the `200` status
  - removed the optional property `enabled` from the response with the `200` status
  - removed the optional property `mcp_server_id` from the response with the `200` status
  - removed the optional property `oauth_config_id` from the response with the `200` status
  - removed the optional property `oauth_config_name` from the response with the `200` status
  - removed the optional property `user_id` from the response with the `200` status
  - api tag `public` removed

---

[Operation](https://skmtc.dev/onyx-dot-app/apis/onyx-api/docs/admin/tool/custom/:tool_id/put.md) - [API](https://skmtc.dev/onyx-dot-app/apis/onyx-api.md) - [Page](https://skmtc.dev/onyx-dot-app/apis/onyx-api/changes/admin/tool/custom/:tool_id/put)
