---
title: "Changes to Create a new tool"
method: POST
path: "/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools"
---

# Changes to Create a new tool

`POST /v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 7 of 57 revisions.

- **2026-07-19** `3ecc1debabfa`: 3 breaking, 8 warning, 3 info
- **2026-07-06** `ca78d3d0b7c2`: 2 info
- **2026-07-03** `02498bf606f0`: 1 info
- **2026-07-02** `2cf447ae9ee9`: 2 info
- **2026-07-02** `06e0e37c1499`: 3 breaking, 9 warning, 4 info
- **2026-06-09** `13d98d37dd96`: 2 breaking, 1 warning, 4 info
- **2026-06-05** `0702cb021b66`: 1 warning

## Changes

- **2026-07-19** `3ecc1debabfa`: 3 breaking, 8 warning, 3 info
  - the `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` request property type changed from `object` to no type
  - added `#/components/schemas/ToolSpec_Config_Http, #/components/schemas/ToolSpec_Config_Mcp, #/components/schemas/ToolSpec_Config_Openapi, #/components/schemas/ToolSpec_Config_Bare` to the `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` response property `oneOf` list for the response status `200`
  - the `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` response's property type changed from `object` to no type for status `200`
  - removed the request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/bare`
  - removed the request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/http`
  - removed the request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/mcp`
  - removed the request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/openapi`
  - removed the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/bare` from the response with the `200` status
  - removed the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/http` from the response with the `200` status
  - removed the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/mcp` from the response with the `200` status
  - removed the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/openapi` from the response with the `200` status
  - added discriminator to `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` request property
  - added `#/components/schemas/ToolSpec_Config_Http, #/components/schemas/ToolSpec_Config_Mcp, #/components/schemas/ToolSpec_Config_Openapi, #/components/schemas/ToolSpec_Config_Bare` to the `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` request property `oneOf` list
  - added discriminator to `spec/config/allOf[#/components/schemas/ToolSpec_Config]/` response property for the response status `200`
- **2026-07-06** `ca78d3d0b7c2`: 2 info
  - added the new optional request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/bare`
  - added the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/bare` to the response with the `200` status
- **2026-07-03** `02498bf606f0`: 1 info
  - added the optional property `info/signature` to the response with the `200` status
- **2026-07-02** `2cf447ae9ee9`: 2 info
  - added the new optional request property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/mcp/annotations`
  - added the optional property `spec/config/allOf[#/components/schemas/ToolSpec_Config]/mcp/annotations` to the response with the `200` status
- **2026-07-02** `06e0e37c1499`: 3 breaking, 9 warning, 4 info
  - added `#/components/schemas/ToolSpec_Config` to the `spec/config` request property `allOf` list
  - the `spec/config` request property type changed from `object` to no type
  - the `spec/config` response's property type changed from `object` to no type for status `200`
  - removed the request property `metadata/bundleKey`
  - removed the request property `spec/config/http`
  - removed the request property `spec/config/mcp`
  - removed the request property `spec/config/openapi`
  - removed the optional property `info/toolSet/bundleKey` from the response with the `200` status
  - removed the optional property `metadata/bundleKey` from the response with the `200` status
  - removed the optional property `spec/config/http` from the response with the `200` status
  - removed the optional property `spec/config/mcp` from the response with the `200` status
  - removed the optional property `spec/config/openapi` from the response with the `200` status
  - added the new optional request property `spec/llmToolName`
  - added the optional property `info/createdBy/metadata/createdAt` to the response with the `200` status
  - added the optional property `spec/llmToolName` to the response with the `200` status
  - added `#/components/schemas/ToolSpec_Config` to the `spec/config` response property `allOf` list for the response status `200`
- **2026-06-09** `13d98d37dd96`: 2 breaking, 1 warning, 4 info
  - the request property `spec/requiresApproval` became required
  - removed the required property `spec/status` from the response with the `200` status
  - removed the request property `spec/status`
  - added the optional property `info/toolSet/updatedAt` to the response with the `200` status
  - added the optional property `metadata/updatedAt` to the response with the `200` status
  - the response property `spec/requiresApproval` became required for the status `200`
  - added the required property `state` to the response with the `200` status
- **2026-06-05** `0702cb021b66`: 1 warning
  - added the new `PROFILE_TYPE_UNSPECIFIED` enum value to the `info/createdBy/spec/type` response property for the response status `200`

---

[Operation](https://skmtc.dev/cadenya/apis/cadenya-api/docs/v1/workspaces/:workspaceId/tool_sets/:toolSetId/tools/post.md) - [API](https://skmtc.dev/cadenya/apis/cadenya-api.md) - [Page](https://skmtc.dev/cadenya/apis/cadenya-api/changes/v1/workspaces/:workspaceId/tool_sets/:toolSetId/tools/post)
