---
title: "Update tool"
method: PUT
path: "/tools/{toolId}"
tags: ["Tools"]
---

# Update tool

`PUT /tools/{toolId}`

## Path parameters

- `toolId` integer, required

## Request body

- UpdateToolRequest
  - `manufacturer` string — Tool manufacturer
  - `model` string — Tool model
  - `serial_number` string — Tool serial number
  - `condition` 'NEW' | 'USED' | 'LEASED' | 'DEFECT' | 'SORTED_OUT' — Tool condition
  - `date_of_purchase` string, date — Date of purchase
  - `next_maintenance` string, date — Next maintenance date
  - `group_id` integer — Tool group id
  - `source` string — The tool source
  - `source_external_id` string — The tool source_external_id

## Response `200`

The request was successful.

## Other responses

- `401` — The request lacks valid authentication credentials.
- `403` — The token is valid but lacks the permission for this action.
- `404` — The requested resource could not be found.
- `422` — The request was well-formed but contains semantic errors (validation failed).
- `500` — An unexpected error occurred on the server (e.g. a requested relation does not exist).

## Changes

- **2026-09-03** `60bb67970e41` — 4 info
  - added the optional property `error/display_message` to the response with the `401` status
  - added the optional property `error/display_message` to the response with the `403` status
  - added the optional property `error/display_message` to the response with the `404` status
  - added the optional property `error/display_message` to the response with the `500` status

[Change history](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/changes/tools/:toolId/put.md)

---

[API](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation.md) · [All operations](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/craftboxx/craftboxx-api-documentation/revisions/60bb67970e41/schema)
