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

# List available tools

> List all tools you can use in workflows and agents. Supports filtering, sorting, and search. Tools can be custom (API calls, scripts) or from toolkits/MCP.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/tools
openapi: 3.0.0
info:
  title: Flowra API (API Key Endpoints)
  description: >-
    **Flowra** is an AI-powered platform for building agents, workflows, and
    integrations.


    ### Capabilities

    - **Tools & Toolkits** – Define and group tools for agents and workflows.

    - **Workflows** – Orchestrate steps and automate processes.

    - **Triggers** – Schedule or event-based execution.

    - **Auth & Connections** – OAuth, API keys, and connected accounts.

    - **MCP** – Model Context Protocol server integration.

    - **Knowledge / RAG** – Add files and URLs for retrieval-augmented
    generation.


    ### Authentication

    Use the **x-api-key** header with a project API key to access endpoints that
    support API Key auth. Create and manage API keys in the dashboard under your
    project settings.


    Only endpoints that support API Key authentication via the @ApiKeyEnabled()
    decorator.


    Send x-api-key (required). On multi-tenant endpoints, optionally send
    x-username to act as an external user.


    Only endpoints that support API Key authentication via the @ApiKeyEnabled()
    decorator.


    Send x-api-key (required). On multi-tenant endpoints, optionally send
    x-username (defaults to the project’s default external user).
  version: '1.0'
  contact:
    name: Flowra
    url: https://flowra.dev
servers:
  - url: https://flowra.dev
    description: Flowra API
security: []
tags:
  - name: Users
    description: User profile
  - name: External Users
    description: End-user identities inside a project (x-username)
  - name: Auth Configs
    description: OAuth and API key configs for toolkits
  - name: Connected Accounts
    description: OAuth connected accounts and link creation
  - name: Toolkits
    description: List and search toolkits
  - name: Tools
    description: List, execute, and manage tools
  - name: Skills
    description: Browse, create, import, and install skills
  - name: Workflow & Agent
    description: Create, run, and inspect workflows and agents
  - name: Triggers
    description: Schedule and event-based trigger instances
  - name: Chat
    description: Threads and streaming agent runs
  - name: File
    description: Upload, list, and download files
  - name: Knowledge
    description: RAG knowledge collections
  - name: Table
    description: Collections and documents
  - name: Sandbox
    description: Ephemeral and durable code sandboxes
  - name: Browser
    description: Live browser sessions and view
  - name: LLM
    description: List AI models and generate completions
  - name: MCP
    description: MCP server management
paths:
  /api/v1/tools:
    get:
      tags:
        - Tools
      summary: List available tools
      description: >-
        List all tools you can use in workflows and agents. Supports filtering,
        sorting, and search. Tools can be custom (API calls, scripts) or from
        toolkits/MCP.
      operationId: ToolsController_getTools
      parameters:
        - name: q
          required: false
          in: query
          description: Search keyword for filtering results
          schema:
            example: john doe
            type: string
        - name: page
          required: false
          in: query
          description: Page number (1-based)
          schema:
            minimum: 1
            default: 1
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 1
            maximum: 100
            default: 20
            example: 20
            type: number
        - name: offset
          required: false
          in: query
          description: Number of items to skip (for offset-based pagination)
          schema:
            minimum: 0
            example: 0
            type: number
        - name: sortBy
          required: false
          in: query
          description: Field name to sort by
          schema:
            example: createdAt
            type: string
        - name: sortOrder
          required: false
          in: query
          description: Sort order
          schema:
            default: DESC
            example: DESC
            enum:
              - ASC
              - DESC
            type: string
        - name: fields
          required: false
          in: query
          description: Comma-separated list of fields to include in response
          schema:
            example: id,name,email
            type: string
        - name: provider
          required: false
          in: query
          description: Filter tools by provider
          schema:
            example: LOCAL
            enum:
              - COMPOSIO
              - LOCAL
            type: string
        - name: toolkitSlug
          required: false
          in: query
          description: The slug of the toolkit to filter by
          schema:
            example: slack
            type: string
        - name: toolSlugs
          required: false
          in: query
          description: >-
            Comma-separated list of specific tool slugs to retrieve (overrides
            other filters)
          schema:
            example: slack_send_message,slack_get_channels
            type: string
        - name: authConfigIds
          required: false
          in: query
          description: Comma-separated list of auth config IDs to filter tools by
          schema:
            example: auth_config_1,auth_config_2
            type: string
        - name: important
          required: false
          in: query
          description: >-
            Filter to only show important/featured tools (set to "true" to
            enable)
          schema:
            example: 'true'
            enum:
              - 'true'
              - 'false'
            type: string
        - name: tags
          required: false
          in: query
          description: Filter tools by one or more tags (can be specified multiple times)
          schema:
            example: productivity,communication
            type: string
        - name: scopes
          required: false
          in: query
          description: Array of scopes to filter tools by
          schema:
            example: read,write,admin
            type: string
        - name: includeDeprecated
          required: false
          in: query
          description: Include deprecated tools in the response
          schema:
            default: false
            example: false
            type: boolean
        - name: toolkitVersions
          required: false
          in: query
          description: >-
            Toolkit version specification. Use "latest" for latest versions or
            bracket notation for specific versions per toolkit.
          schema:
            example: latest
            type: string
        - name: cursor
          required: false
          in: query
          description: >-
            Cursor for pagination. The cursor is a base64 encoded string of the
            page and limit.
          schema:
            example: eyJwYWdlIjoxLCJsaW1pdCI6MjB9
            type: string
      responses:
        '200':
          description: Tools retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseDto'
      security:
        - x-api-key: []
components:
  schemas:
    PaginatedResponseDto:
      $ref: '#/components/schemas/PaginatedResponseDto'
      type: object
      properties:
        success:
          type: boolean
          description: Success status
          example: true
        message:
          type: string
          description: Response message
          example: Data retrieved successfully
        data:
          type: array
          description: Array of items
        total:
          type: number
          description: Total number of items across all pages
          example: 100
        totalTools:
          type: number
          description: >-
            Optional secondary total (e.g. nested tools across all matching
            toolkits)
          example: 5000
        page:
          type: number
          description: Current page number (1-based)
          example: 1
        limit:
          type: number
          description: Number of items per page
          example: 20
        totalPages:
          type: number
          description: Total number of pages
          example: 5
        hasNextPage:
          type: boolean
          description: Whether there is a next page
          example: true
        hasPreviousPage:
          type: boolean
          description: Whether there is a previous page
          example: false
      required:
        - success
        - message
        - data
        - total
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Project API key. Create and manage keys in the dashboard under Project →
        API Keys. Send as header: x-api-key: <your-key>

````