---
title: "Delete a tool"
method: DELETE
path: "/tools/{toolId}"
tags: ["Tools"]
---

# Delete a tool

`DELETE /tools/{toolId}`

Delete a tool

## Path parameters

- `toolId` string, required

## Response `200`

Tool deleted successfully

- GetToolResponseDto — Response DTO for tool retrieval operations
  - `id` string, required — Tool ID
  - `name` string, required — Name of the tool
  - `description` string, required — Description of what the tool does
  - `display_name` string — Human label shown in Studio instead of `name`. Not seen by the LLM.
  - `schema` ToolSchema, required — LLM-facing tool schema for OpenAI function calling Matches OpenAI's function calling specification exactly
    - `parameters` object, required — Parameters schema - must be an object for OpenAI function calling
      - `type` 'object', required — Primitive type names supported by OpenAI
      - `description` string — Description for the LLM
      - `enum` unknown[] — Enumerated values
        - unknown
      - `default` unknown
      - `maxLength` number, double
      - `minLength` number, double
      - `pattern` string
      - `multipleOf` number, double
      - `maximum` number, double
      - `minimum` number, double
      - `items` JSONSchema — JSON Schema definition - matches OpenAI's subset
        - `type` union — The type of the value
          - 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' — Primitive type names supported by OpenAI
          - JSONSchemaTypeName[]
        - `description` string — Description for the LLM
        - `enum` unknown[] — Enumerated values
          - unknown
        - `default` unknown
        - `maxLength` number, double
        - `minLength` number, double
        - `pattern` string
        - `multipleOf` number, double
        - `maximum` number, double
        - `minimum` number, double
        - `items` JSONSchema — recursive
        - `maxItems` number, double
        - `minItems` number, double
        - `uniqueItems` boolean
        - `properties` RecordStringJSONSchema — Construct a type with a set of properties K of type T
        - `required` string[]
        - `additionalProperties` union
          - boolean
          - JSONSchema — recursive
      - `maxItems` number, double
      - `minItems` number, double
      - `uniqueItems` boolean
      - `properties` object, required — Construct a type with a set of properties K of type T
      - `required` string[]
      - `additionalProperties` false
  - `config` ToolConfig, required — Server tool configurations
    - `type` 'server', required
    - `url` string, required — URL for the API endpoint
    - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH', required — HTTP method for the API call
    - `headers` RecordStringString — Construct a type with a set of properties K of type T
    - `timeout` number, double
  - `auth` Auth, nullable — Authentication configuration for tools and webhooks (processed/stored)
    - `secret_id` string, required
  - `provider` string, required — Provider of the tool
  - `created_at` string, required — Creation timestamp
  - `modified_at` string, required — Last modification timestamp

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Tool not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/d-id/apis/realtime-endpoints.md) · [All operations](https://skmtc.net/d-id/apis/realtime-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-id/realtime-endpoints/versions/2f2425e1b6b6/schema)
