> ## 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.
  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
  - name: usage
    description: Credit balance and usage ledger for the project API key
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: category
          required: false
          in: query
          description: Filter tools by curated toolkit category id
          schema:
            example: crm
            enum:
              - developer-tools-&-devops
              - collaboration-&-communication
              - ai-&-machine-learning
              - document-&-file-management
              - productivity-&-project-management
              - crm
              - analytics-&-data
              - entertainment-&-media
              - education-&-lms
              - design-&-creative-tools
              - marketing-&-social-media
              - scheduling-&-booking
              - e-commerce
              - finance-&-accounting
              - sales-&-customer-support
              - hr-&-recruiting
              - social-media
              - workflow-automation
              - data-&-analytics
              - advertising-&-marketing
            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). Must fit in a GET query.
          schema:
            maxLength: 2048
            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: kind
          required: false
          in: query
          description: >-
            Filter by tool kind: "actions" (default, callable tools), "triggers"
            (webhook/poll), or "all"
          schema:
            default: actions
            example: actions
            enum:
              - all
              - actions
              - triggers
            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/ToolDtoPaginatedResponse'
              example:
                success: true
                message: Data retrieved successfully
                data:
                  - id: ''
                    slug: slack_send_message
                    name: Send Message
                    description: Send a message to a Slack channel or user
                    type: action
                    toolkit:
                      slug: slack
                      name: Slack
                      logo: https://example.com/slack-logo.png
                    inputParameters: {}
                    outputParameters: {}
                    noAuth: false
                    meta:
                      createdAt: '2023-01-01T00:00:00Z'
                      updatedAt: '2023-01-01T00:00:00Z'
                      version: 2.0.0
                      availableVersions:
                        - 1.0.0
                        - 2.0.0
                      scopes:
                        - chat:write
                        - channels:read
                      tags:
                        - productivity
                        - communication
                      isImportant: true
                    provider: LOCAL
                    toolkitSlug: ''
                    owner: true
                total: 100
                totalTools: 5000
                page: 1
                limit: 20
                totalPages: 5
                hasNextPage: true
                hasPreviousPage: false
      security:
        - x-api-key: []
components:
  schemas:
    ToolDtoPaginatedResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Success status
          example: true
        message:
          type: string
          description: Response message
          example: Data retrieved successfully
        data:
          description: Array of items
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Tool id identifier
              slug:
                type: string
                description: Tool slug identifier
                example: slack_send_message
              name:
                type: string
                description: Tool display name
                example: Send Message
              description:
                type: string
                description: Tool description
                example: Send a message to a Slack channel or user
              type:
                enum:
                  - action
                  - poll
                  - webhook
                type: string
                description: 'Tool type: action (callable tool) or poll/webhook (trigger)'
                example: action
              toolkit:
                type: object
                properties:
                  slug:
                    type: string
                    description: Toolkit slug
                    example: slack
                  name:
                    type: string
                    description: Toolkit name
                    example: Slack
                  logo:
                    type: string
                    description: Toolkit logo URL
                    example: https://example.com/slack-logo.png
                required:
                  - slug
                  - name
                  - logo
              inputParameters:
                type: object
                description: Tool input parameters schema
                additionalProperties: true
              outputParameters:
                type: object
                description: Tool output parameters schema
                additionalProperties: true
              noAuth:
                type: boolean
                description: Whether the tool requires no authentication
                example: false
              meta:
                type: object
                properties:
                  createdAt:
                    type: string
                    description: Creation timestamp
                    example: '2023-01-01T00:00:00Z'
                  updatedAt:
                    type: string
                    description: Last update timestamp
                    example: '2023-01-01T00:00:00Z'
                  version:
                    type: string
                    description: Current tool version
                    example: 2.0.0
                  availableVersions:
                    description: Available versions for the tool
                    example:
                      - 1.0.0
                      - 2.0.0
                    type: array
                    items:
                      type: string
                  scopes:
                    description: Required scopes for the tool
                    example:
                      - chat:write
                      - channels:read
                    type: array
                    items:
                      type: string
                  tags:
                    description: Tool tags
                    example:
                      - productivity
                      - communication
                    type: array
                    items:
                      type: string
                  isImportant:
                    type: boolean
                    description: Whether the tool is featured/important
                    example: true
                required:
                  - createdAt
                  - updatedAt
                  - version
                  - availableVersions
                  - scopes
                  - tags
                  - isImportant
              provider:
                enum:
                  - COMPOSIO
                  - LOCAL
                type: string
                description: Tool provider
                example: LOCAL
              toolkitSlug:
                type: string
                description: Toolkit slug
              owner:
                type: boolean
                description: Whether the current user is the owner of this tool
                example: true
            required:
              - id
              - slug
              - name
              - description
              - type
              - toolkit
              - inputParameters
              - outputParameters
              - noAuth
              - meta
              - provider
              - toolkitSlug
              - owner
          example:
            - id: ''
              slug: slack_send_message
              name: Send Message
              description: Send a message to a Slack channel or user
              type: action
              toolkit:
                slug: slack
                name: Slack
                logo: https://example.com/slack-logo.png
              inputParameters: {}
              outputParameters: {}
              noAuth: false
              meta:
                createdAt: '2023-01-01T00:00:00Z'
                updatedAt: '2023-01-01T00:00:00Z'
                version: 2.0.0
                availableVersions:
                  - 1.0.0
                  - 2.0.0
                scopes:
                  - chat:write
                  - channels:read
                tags:
                  - productivity
                  - communication
                isImportant: true
              provider: LOCAL
              toolkitSlug: ''
              owner: true
        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>

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.