> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slng.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Tool

> Soft-delete an organisation tool. If the tool is still referenced by an agent or an active call, returns 409 with code TOOL_DELETE_BLOCKED and a blockers array listing what holds the reference.



## OpenAPI

````yaml /api-reference/agents/tools.oas.yaml delete /v1/agents/tools/{tool_id}
openapi: 3.1.0
info:
  title: SLNG Agent Resources — Tools
  version: 1.0.0
  description: >-
    Public API for organisation tools, MCP servers, Vault entries, and BYOK
    client models.
  contact:
    name: SLNG Support
    email: support@slng.ai
servers:
  - url: https://api.agents.slng.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/agents/tools/{tool_id}:
    delete:
      summary: Delete Tool
      description: >-
        Soft-delete an organisation tool. If the tool is still referenced by an
        agent or an active call, returns 409 with code TOOL_DELETE_BLOCKED and a
        blockers array listing what holds the reference.
      operationId: deleteTool
      parameters:
        - name: tool_id
          in: path
          required: true
          description: >-
            The tool UUID. Curated tools are visible but read-only, and a tool
            owned by another organisation returns 404.
          schema:
            type: string
            format: uuid
            title: Tool Id
      responses:
        '204':
          description: The tool was soft-deleted. No content is returned.
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    UnauthorizedError:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ForbiddenError:
      description: >-
        The caller cannot perform this operation, or public resource access is
        disabled for the organisation. Disabled access returns code
        PUBLIC_SHARED_RESOURCES_DISABLED with retryable set to false.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    NotFoundError:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ConflictError:
      description: The requested change conflicts with the current resource state.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    RateLimitError:
      description: The organisation's request limit was exceeded.
      headers:
        Retry-After:
          schema:
            type: integer
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    InternalServerError:
      description: The operation failed. The response does not expose secret values.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
  schemas:
    ApiErrorResponse:
      type: object
      required:
        - detail
        - error
      properties:
        detail:
          type: string
        error:
          $ref: '#/components/schemas/ApiErrorDetail'
      description: Standard error envelope returned for a failed request.
      example:
        detail: The tool is attached to an active agent.
        error:
          code: TOOL_DELETE_BLOCKED
          message: The tool is attached to an active agent.
          retryable: false
    ApiErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: TOOL_DELETE_BLOCKED
        message:
          type: string
          example: The tool is attached to an active agent.
        request_id:
          type:
            - string
            - 'null'
          example: req_01HZYABCDEF
        retryable:
          type: boolean
          example: false
        fields:
          type: array
          example: []
          items:
            type: object
            additionalProperties: true
      description: >-
        Structured error detail with a stable code, a human-readable message,
        and optional per-field errors.
      example:
        code: TOOL_DELETE_BLOCKED
        message: The tool is attached to an active agent.
        request_id: req_01HZYABCDEF
        retryable: false
        fields: []
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: SLNG API key
      description: Your SLNG consumer API key.

````