> ## 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.

# List custom tools

> List all tools with cursor-based pagination



## OpenAPI

````yaml get /api/v1/tools
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:
    get:
      tags:
        - Tools
      summary: List custom tools
      description: List all tools with cursor-based pagination
      parameters:
        - schema:
            type: string
          required: false
          name: cursor
          in: query
        - schema:
            type: string
            default: '10'
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: List of tools retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  tools:
                    type: array
                    items:
                      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
                  pagination:
                    type: object
                    properties:
                      limit:
                        type: number
                        minimum: 1
                        maximum: 100
                        default: 10
                      nextCursor:
                        type: string
                required:
                  - tools
                  - pagination
        '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

````