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

# Update tool

> Update an existing tool



## OpenAPI

````yaml patch /api/v1/tools/{toolId}
openapi: 3.0.0
info:
  version: 1.0.0
  title: Feather AI API
servers:
  - url: https://prod.featherhq.com
    description: Production environment
security: []
paths:
  /api/v1/tools/{toolId}:
    patch:
      tags:
        - Tools
      summary: Update tool
      description: Update an existing tool
      parameters:
        - schema:
            type: string
          required: true
          name: toolId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                description:
                  type: string
                structure:
                  type: object
                  properties:
                    url:
                      type: string
                      description: The API endpoint URL
                    method:
                      type: string
                      enum:
                        - GET
                        - POST
                        - PATCH
                        - PUT
                        - DELETE
                      default: GET
                      description: HTTP method (GET, POST, PATCH, PUT, DELETE)
                    headers:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            minLength: 1
                          value:
                            type: string
                          secure:
                            type: boolean
                            default: false
                            description: >-
                              If true, the value will be encrypted in the
                              database
                        required:
                          - key
                          - value
                      default: []
                      description: HTTP headers with optional encryption
                    body:
                      type: object
                      additionalProperties:
                        nullable: true
                      default: {}
                      description: Request body for POST/PUT requests
                    timeout:
                      type: number
                      default: 30
                      description: Request timeout in seconds
                    variables:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          type:
                            type: string
                            enum:
                              - str
                              - int
                              - float
                              - bool
                          description:
                            type: string
                            nullable: true
                          required:
                            type: boolean
                            default: false
                        required:
                          - name
                          - type
                  required:
                    - url
                    - variables
                speech:
                  type: string
                notifyOnFailure:
                  type: boolean
                successStatusCodes:
                  type: array
                  items:
                    type: integer
                    minimum: 100
                    maximum: 599
                  minItems: 1
                slug:
                  type: string
                  pattern: ^[a-z0-9_]+$
      responses:
        '200':
          description: Tool updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  tool:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      description:
                        type: string
                      notifyOnFailure:
                        type: boolean
                      successStatusCodes:
                        type: array
                        items:
                          type: integer
                          minimum: 100
                          maximum: 599
                        minItems: 1
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      structure:
                        type: object
                        properties:
                          url:
                            type: string
                            description: The API endpoint URL
                          method:
                            type: string
                            enum:
                              - GET
                              - POST
                              - PATCH
                              - PUT
                              - DELETE
                            default: GET
                            description: HTTP method (GET, POST, PATCH, PUT, DELETE)
                          headers:
                            type: array
                            items:
                              type: object
                              properties:
                                key:
                                  type: string
                                  minLength: 1
                                value:
                                  type: string
                                secure:
                                  type: boolean
                                  default: false
                                  description: >-
                                    If true, the value will be encrypted in the
                                    database
                              required:
                                - key
                                - value
                            default: []
                            description: HTTP headers with optional encryption
                          body:
                            type: object
                            additionalProperties:
                              nullable: true
                            default: {}
                            description: Request body for POST/PUT requests
                          timeout:
                            type: number
                            default: 30
                            description: Request timeout in seconds
                          variables:
                            type: array
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - str
                                    - int
                                    - float
                                    - bool
                                description:
                                  type: string
                                  nullable: true
                                required:
                                  type: boolean
                                  default: false
                              required:
                                - name
                                - type
                        required:
                          - url
                          - variables
                      speech:
                        type: string
                        nullable: true
                      slug:
                        type: string
                        pattern: ^[a-z0-9_]+$
                    required:
                      - id
                      - name
                      - description
                      - notifyOnFailure
                      - successStatusCodes
                      - createdAt
                      - updatedAt
                      - structure
                      - speech
                      - slug
                required:
                  - tool
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 400
                  message:
                    type: string
                    default: Bad request
                  code:
                    type: string
                    enum:
                      - BAD_REQUEST
                    default: BAD_REQUEST
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 500
                  message:
                    type: string
                    default: Internal server error
                  code:
                    type: string
                    enum:
                      - INTERNAL_SERVER_ERROR
                    default: INTERNAL_SERVER_ERROR
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
      security:
        - ApiKey: []
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key

````