---
title: "Update a Tool Version"
method: PUT
path: "/v1/tools/{id}/versions/{version}"
tags: ["Tool Versions"]
---

# Update a Tool Version

`PUT /v1/tools/{id}/versions/{version}`

Updates the schemas of a draft tool version.

## Path parameters

- `id` string, required
- `version` integer, required

## Request body

- UpdateToolVersionRequest
  - `input_schema` object — Optional JSON Schema for tool inputs.
  - `output_schema` object — Optional JSON Schema for tool outputs.

## Response `200`

Version updated successfully

- object
  - `version` ToolVersion
    - `id` string, uuid, required
    - `tool_id` string, uuid, required
    - `version` integer, required
    - `input_schema` object, required — JSON Schema for tool inputs.
    - `output_schema` object, required — JSON Schema for tool outputs.
    - `status` 'draft' | 'stable' | 'live' | 'archived', required
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `404` — Version not found
- `422` — Only draft versions can be modified

---

[API](https://skmtc.net/px0-ai/apis/px0-api.md) · [All operations](https://skmtc.net/px0-ai/apis/px0-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/px0-ai/px0-api/revisions/3ed72443989d/schema)
