---
title: "Update a custom tool"
method: PUT
path: "/public/v1/tools/{toolId}"
tags: ["Custom Tools"]
---

# Update a custom tool

`PUT /public/v1/tools/{toolId}`

Updates a custom tool (API call tool). Requires a USER API key. The tool type cannot be changed.

## Path parameters

- `toolId` number, nullable

## Request body

- PublicToolUpdateInput
  - `name` string
  - `description` string
  - `status` 'ACTIVE' | 'PAUSED'
  - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'
  - `url` string, uri
  - `body` string — Raw request body template (typically a JSON string). Interpolate argument values with single braces, e.g. {contactName} (not double braces).
  - `arguments` object[]
    - `name` string, required
    - `description` string
    - `dataType` 'STRING' | 'NUMBER' | 'DECIMAL' | 'BOOLEAN', required — Argument type. Use STRING, NUMBER (covers decimals), or BOOLEAN. DECIMAL is accepted but not shown in the app UI — prefer NUMBER.
    - `required` boolean — Whether the caller must provide this argument. Defaults to true.
    - `defaultValue` string — Fallback value (as a string, coerced to dataType) used when the argument is omitted.
  - `headers` object[]
    - `key` string, required
    - `value` string, required
  - `queryParams` object[]
    - `key` string, required
    - `value` string, required

## Response `200`

Updated tool

- CustomTool
  - `id` number, required
  - `name` string, required
  - `description` string, required
  - `createdAt` string, required
  - `updatedAt` string, required
  - `status` 'PAUSED' | 'ACTIVE' | 'DELETED', nullable
  - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', nullable
  - `url` string, nullable
  - `body` string, nullable
  - `arguments` object[], nullable
    - `name` string, required
    - `description` string, nullable
    - `dataType` 'STRING' | 'NUMBER' | 'DECIMAL' | 'BOOLEAN', required
    - `required` boolean, nullable
    - `defaultValue` string, nullable
  - `headers` object[], nullable
    - `key` string, required
    - `value` string, required
  - `queryParams` object[], nullable
    - `key` string, required
    - `value` string, required
  - `type` 'API_CALL' | 'WHATSAPP_TEMPLATE_MESSAGE', required

## Other responses

- `404` — Not Found

---

[API](https://skmtc.net/getfrontline/apis/public-api.md) · [All operations](https://skmtc.net/getfrontline/apis/public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getfrontline/public-api/versions/9d33b6aad674/schema)
