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

# Get toolkits with nested tools

> List toolkits including the full list of tools in each. Use when building a tool picker (e.g. for agents or MCP) so users can see which tools belong to which toolkit.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/toolkits/with-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/toolkits/with-tools:
    get:
      tags:
        - Toolkits
      summary: Get toolkits with nested tools
      description: >-
        List toolkits including the full list of tools in each. Use when
        building a tool picker (e.g. for agents or MCP) so users can see which
        tools belong to which toolkit.
      operationId: ToolkitsController_getToolkitsWithTools
      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 toolkits that include this curated 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: slugs
          required: false
          in: query
          description: Comma-separated toolkit slugs to filter exact matches
          schema:
            maxLength: 2048
            example: gmail,slack
            type: string
        - name: type
          required: false
          in: query
          description: >-
            Filter by tool type: "all" (default), "triggers" (webhook/poll
            only), "actions" (action only)
          schema:
            default: all
            enum:
              - all
              - triggers
              - actions
            type: string
        - name: scope
          required: false
          in: query
          description: >-
            Ownership scope: "all" (default) or "mine" (only your project's own
            toolkits and tools)
          schema:
            default: all
            enum:
              - all
              - mine
            type: string
        - name: region
          required: false
          in: query
          description: >-
            Region filter: ISO country code, "global" (worldwide-only), or "all"
            (no region filter; admin browse)
          schema:
            example: IR
            type: string
        - name: regionMatch
          required: false
          in: query
          description: >-
            How country region=CODE matches: include_global (default) = global ∪
            country; exact = only toolkits tagged for that country
          schema:
            example: exact
            enum:
              - include_global
              - exact
            type: string
        - name: tool
          required: false
          in: query
          description: >-
            Filter by specific tool; format toolkitSlug:toolSlug (e.g.
            composio_slack:send_message)
          schema:
            example: composio_slack:send_message
            type: string
        - name: selectedToolkitSlugs
          required: false
          in: query
          description: >-
            Comma-separated toolkit slugs to sort first (apps the user already
            picked). Prefer this over selectedToolSlugs.
          schema:
            maxLength: 2048
            example: shopify,gmail
            type: string
        - name: selectedToolSlugs
          required: false
          in: query
          deprecated: true
          description: >-
            Deprecated. Comma-separated tool slugs for sort-order. Use
            selectedToolkitSlugs.
          schema:
            maxLength: 2048
            example: tool_a,tool_b
            type: string
        - name: excludeMessagingChannels
          required: false
          in: query
          description: Exclude bidirectional messaging-channel trigger tools from results
          schema:
            default: false
            type: boolean
      responses:
        '200':
          description: Toolkits with tools retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolkitWithToolsItemDtoPaginatedResponse'
              example:
                success: true
                message: Data retrieved successfully
                data:
                  - id: ''
                    slug: slack
                    name: Slack
                    authSchemes:
                      - OAUTH2
                      - API_KEY
                    providerManagedAuthSchemes:
                      - OAUTH2
                    isDisabled: true
                    noAuth: false
                    createdAt: '2023-01-01T00:00:00Z'
                    updatedAt: '2023-01-01T00:00:00Z'
                    description: A comprehensive toolkit for productivity applications
                    logo: https://example.com/logo.png
                    appUrl: https://app.example.com
                    triggersCount: 15
                    toolsCount: 25
                    version: 1.0.0
                    availableVersions:
                      - 1.0.0
                      - 1.1.0
                      - 2.0.0
                    authConfigDetails:
                      - name: oauth2
                        mode: OAUTH2
                        fields:
                          authConfigCreation: {}
                          connectedAccountInitiation: {}
                        proxy:
                          baseUrl: ''
                        deprecatedAuthProviderDetails:
                          authorization_url: ''
                          token_url: ''
                    getCurrentUserEndpoint: /api/user
                    baseUrl: https://api.slack.com
                    provider: LOCAL
                    owner: true
                    popularityScore: 0
                    regions:
                      - IR
                      - US
                    categories:
                      - crm
                      - sales-&-customer-support
                    seatBilled: false
                    tools:
                      - id: ''
                        slug: ''
                        toolkitSlug: ''
                        description: ''
                        inputParameters: {}
                        outputParameters: {}
                        type: ''
                        popularityScore: 0
                        isDisabled: true
                        isDeprecated: true
                        isProjectTool: true
                        noAuth: true
                total: 100
                totalTools: 5000
                page: 1
                limit: 20
                totalPages: 5
                hasNextPage: true
                hasPreviousPage: false
      security:
        - x-api-key: []
components:
  schemas:
    ToolkitWithToolsItemDtoPaginatedResponse:
      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: Toolkit id identifier
              slug:
                type: string
                description: Toolkit slug identifier
                example: slack
              name:
                type: string
                description: Toolkit display name
                example: Slack
              authSchemes:
                description: Available authentication schemes
                example:
                  - OAUTH2
                  - API_KEY
                type: array
                items:
                  type: string
              providerManagedAuthSchemes:
                description: >-
                  Provider-managed authentication schemes (e.g. Local or
                  Composio)
                example:
                  - OAUTH2
                type: array
                items:
                  type: string
              isDisabled:
                type: boolean
                description: Whether toolkit is enabled
                example: true
              noAuth:
                type: boolean
                description: Whether this toolkit requires no authentication
                example: false
              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'
              description:
                type: string
                description: Toolkit description
                example: A comprehensive toolkit for productivity applications
              logo:
                type: string
                description: Toolkit logo URL
                example: https://example.com/logo.png
              appUrl:
                type: string
                nullable: true
                description: Application URL
                example: https://app.example.com
              triggersCount:
                type: number
                description: Number of trigger tools (webhook/poll) available
                example: 15
              toolsCount:
                type: number
                description: Number of action tools available (excludes triggers)
                example: 25
              version:
                type: string
                description: Toolkit version
                example: 1.0.0
              availableVersions:
                description: Available versions
                example:
                  - 1.0.0
                  - 1.1.0
                  - 2.0.0
                type: array
                items:
                  type: string
              authConfigDetails:
                description: Authentication configuration details
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Auth provider name
                      example: oauth2
                    mode:
                      enum:
                        - OAUTH1
                        - OAUTH2
                        - S2S_OAUTH2
                        - API_KEY
                        - BASIC
                        - BEARER_TOKEN
                        - BILLCOM_AUTH
                        - GOOGLE_SERVICE_ACCOUNT
                        - NO_AUTH
                        - BASIC_WITH_JWT
                        - CALCOM_AUTH
                        - SERVICE_ACCOUNT
                        - SAML
                        - DCR_OAUTH
                        - COOKIE
                        - WHATSAPP_QR
                      type: string
                      description: Authentication mode
                      example: OAUTH2
                    fields:
                      type: object
                      properties:
                        authConfigCreation:
                          $ref: '#/components/schemas/AuthConfigCreationFieldsDto'
                        connectedAccountInitiation:
                          $ref: '#/components/schemas/AuthConfigCreationFieldsDto'
                      required:
                        - authConfigCreation
                        - connectedAccountInitiation
                    proxy:
                      type: object
                      properties:
                        baseUrl:
                          type: string
                      description: Proxy configuration
                    deprecatedAuthProviderDetails:
                      type: object
                      properties:
                        authorization_url:
                          type: string
                        token_url:
                          type: string
                      description: Deprecated auth provider details
                  required:
                    - name
                    - mode
                    - fields
              getCurrentUserEndpoint:
                type: string
                description: Get current user endpoint
                example: /api/user
              baseUrl:
                type: string
                description: Base URL for the toolkit
                example: https://api.slack.com
              provider:
                enum:
                  - COMPOSIO
                  - LOCAL
                type: string
                description: Toolkit provider
                example: LOCAL
              owner:
                type: boolean
                description: Toolkit owner
              popularityScore:
                type: number
                description: Popularity score for ordering / ranking
                example: 0
              regions:
                nullable: true
                description: >-
                  ISO 3166-1 alpha-2 region codes this toolkit is available in.
                  null/empty = global.
                example:
                  - IR
                  - US
                type: array
                items:
                  type: string
              categories:
                nullable: true
                description: Curated toolkit category ids. null/empty = uncategorized.
                example:
                  - crm
                  - sales-&-customer-support
                type: array
                items:
                  type: string
              seatBilled:
                type: boolean
                description: >-
                  When true, each ACTIVE connected account is billed a daily
                  credit seat; tools in this toolkit do not charge per call.
                example: false
              tools:
                description: Tools in this toolkit
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    slug:
                      type: string
                    toolkitSlug:
                      type: string
                    description:
                      type: string
                    inputParameters:
                      type: object
                      description: >-
                        JSON Schema for tool inputs. Empty object on list
                        endpoints (e.g. with-tools); hydrate via GET
                        /tools/byId/:id when needed.
                    outputParameters:
                      type: object
                      description: >-
                        JSON Schema for tool outputs. Empty object on list
                        endpoints; hydrate via GET /tools/byId/:id when needed.
                    type:
                      type: string
                      description: 'Tool type: action, webhook, poll'
                    popularityScore:
                      type: number
                    isDisabled:
                      type: boolean
                    isDeprecated:
                      type: boolean
                      description: Whether the tool is deprecated and cannot be executed
                    isProjectTool:
                      type: boolean
                      description: True when tool belongs to current project
                    noAuth:
                      type: boolean
                      description: True when tool does not require authentication
                  required:
                    - id
                    - slug
                    - toolkitSlug
                    - description
                    - inputParameters
                    - outputParameters
                    - type
                    - popularityScore
                    - isDisabled
                    - isDeprecated
            required:
              - id
              - slug
              - name
              - authSchemes
              - providerManagedAuthSchemes
              - isDisabled
              - noAuth
              - createdAt
              - updatedAt
              - description
              - logo
              - appUrl
              - triggersCount
              - toolsCount
              - version
              - availableVersions
              - authConfigDetails
              - getCurrentUserEndpoint
              - baseUrl
              - provider
              - tools
          example:
            - id: ''
              slug: slack
              name: Slack
              authSchemes:
                - OAUTH2
                - API_KEY
              providerManagedAuthSchemes:
                - OAUTH2
              isDisabled: true
              noAuth: false
              createdAt: '2023-01-01T00:00:00Z'
              updatedAt: '2023-01-01T00:00:00Z'
              description: A comprehensive toolkit for productivity applications
              logo: https://example.com/logo.png
              appUrl: https://app.example.com
              triggersCount: 15
              toolsCount: 25
              version: 1.0.0
              availableVersions:
                - 1.0.0
                - 1.1.0
                - 2.0.0
              authConfigDetails:
                - name: oauth2
                  mode: OAUTH2
                  fields:
                    authConfigCreation: {}
                    connectedAccountInitiation: {}
                  proxy:
                    baseUrl: ''
                  deprecatedAuthProviderDetails:
                    authorization_url: ''
                    token_url: ''
              getCurrentUserEndpoint: /api/user
              baseUrl: https://api.slack.com
              provider: LOCAL
              owner: true
              popularityScore: 0
              regions:
                - IR
                - US
              categories:
                - crm
                - sales-&-customer-support
              seatBilled: false
              tools:
                - id: ''
                  slug: ''
                  toolkitSlug: ''
                  description: ''
                  inputParameters: {}
                  outputParameters: {}
                  type: ''
                  popularityScore: 0
                  isDisabled: true
                  isDeprecated: true
                  isProjectTool: true
                  noAuth: 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
    AuthConfigCreationFieldsDto:
      type: object
      properties:
        required:
          description: Required fields for auth config creation
          type: array
          items:
            $ref: '#/components/schemas/AuthConfigFieldDto'
        optional:
          description: Optional fields for auth config creation
          type: array
          items:
            $ref: '#/components/schemas/AuthConfigFieldDto'
      required:
        - required
        - optional
    AuthConfigFieldDto:
      type: object
      properties:
        name:
          type: string
          pattern: ^[A-Za-z][A-Za-z0-9_.-]{0,63}$
          description: >-
            Field name: starts with a letter, then letters, digits, underscore,
            dot or hyphen (max 64)
          example: client_id
        displayName:
          type: string
          description: Field display name
          example: Client ID
        default:
          type: string
          nullable: true
          description: Default value
          example: your_client_id
        type:
          type: string
          description: Field type
          example: string
        description:
          type: string
          description: Field description
          example: Your application client ID
        required:
          type: boolean
          description: Whether field is required
          example: true
        legacyTemplateName:
          type: string
          description: Legacy template name
          example: client_id
      required:
        - name
        - displayName
        - default
        - type
        - description
        - required
        - legacyTemplateName
  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.