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

# Get Tool

> Fetch one tool's full definition.



## OpenAPI

````yaml get /v1/agent/tools/{tool_id}
openapi: 3.1.0
info:
  title: FishAudio OpenAPI
  version: '1'
servers:
  - description: Fish Audio API
    url: https://api.fish.audio
security: []
tags: []
paths:
  /v1/agent/tools/{tool_id}:
    get:
      tags:
        - Agent Tools
      summary: Get Tool
      description: |-
        Fetch one tool's full definition. Credential header values are never
        returned — each credential header reports `has_secret` instead.
      parameters:
        - in: path
          name: tool_id
          description: ''
          required: true
          schema:
            title: Tool Id
            type: string
          deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  tool_id:
                    title: Tool Id
                    type: string
                  workspace_id:
                    title: Workspace Id
                    type: string
                  name:
                    title: Name
                    type: string
                  description:
                    default: ''
                    title: Description
                    type: string
                  tool_type:
                    enum:
                      - webhook
                      - client
                    title: Tool Type
                    type: string
                  method:
                    enum:
                      - GET
                      - POST
                      - PUT
                      - PATCH
                      - DELETE
                    title: Method
                    type: string
                  url:
                    title: Url
                    type: string
                  used_by:
                    default: 0
                    description: >-
                      How many agents reference this tool in their draft
                      configuration.
                    title: Used By
                    type: integer
                  created_at:
                    format: date-time
                    title: Created At
                    type: string
                  updated_at:
                    format: date-time
                    title: Updated At
                    type: string
                  arguments:
                    items:
                      $ref: '#/components/schemas/AgentWebhookArgumentPayload'
                    title: Arguments
                    type: array
                  content_type:
                    title: Content Type
                    type: string
                  body_template:
                    default: ''
                    title: Body Template
                    type: string
                  headers:
                    items:
                      $ref: '#/components/schemas/PublicToolHeader'
                    title: Headers
                    type: array
                  timeout_seconds:
                    title: Timeout Seconds
                    type: integer
                  error_handling:
                    enum:
                      - passthrough
                      - hide
                    title: Error Handling
                    type: string
                  mock_responses:
                    items:
                      $ref: '#/components/schemas/AgentWebhookMockResponsePayload'
                    title: Mock Responses
                    type: array
                  expects_response:
                    default: true
                    title: Expects Response
                    type: boolean
                required:
                  - tool_id
                  - workspace_id
                  - name
                  - tool_type
                  - method
                  - url
                  - created_at
                  - updated_at
                  - content_type
                  - timeout_seconds
                  - error_handling
                type: object
        '401':
          description: No permission -- see authorization schemes
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
        '404':
          description: Nothing matches the given URI
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
      security:
        - BearerAuth: []
components:
  schemas:
    AgentWebhookArgumentPayload:
      properties:
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        description:
          default: ''
          maxLength: 500
          title: Description
          type: string
      required:
        - name
      title: AgentWebhookArgumentPayload
      type: object
    PublicToolHeader:
      properties:
        name:
          title: Name
          type: string
        kind:
          enum:
            - custom
            - authorization_bearer
            - authorization_basic
          title: Kind
          type: string
        value:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Header value; null for credential kinds (authorization_bearer /
            authorization_basic), which are write-only.
          title: Value
        has_secret:
          default: false
          description: >-
            Whether a credential value is stored; the value itself is never
            returned.
          title: Has Secret
          type: boolean
      required:
        - name
        - kind
      title: PublicToolHeader
      type: object
    AgentWebhookMockResponsePayload:
      properties:
        name:
          default: ''
          maxLength: 120
          title: Name
          type: string
        status_code:
          default: 200
          maximum: 599
          minimum: 100
          title: Status Code
          type: integer
        content_type:
          default: application/json
          maxLength: 128
          title: Content Type
          type: string
        body:
          default: ''
          maxLength: 100000
          title: Body
          type: string
      title: AgentWebhookMockResponsePayload
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````