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

# Search Tools

> Search tools available for assignment to agents.

Allowed filter columns: `custom_description`, `custom_name`, `id`, `shared_agent_tools.access_level`, `shared_agent_tools.owner_tenant`, `shared_agent_tools.shared_tenant`, `system_agent_tool`, `tenant`.

Allowed sort columns: `custom_description`, `custom_name`, `id`, `system_agent_tool`, `tenant`.



## OpenAPI

````yaml /api-reference/openapi.json post /api/tools/search
openapi: 3.1.0
info:
  title: Maadify API
  description: Public and admin API endpoints for Maadify.
  version: 1.0.0
servers:
  - url: https://app.maadify.com
    description: Production
security: []
tags:
  - name: Parent agents
    description: Create, update, and configure parent agents.
  - name: Sub-agents
    description: Create sub-agents and assign them to parent agents.
  - name: Tools
    description: Search tools and manage tool assignments.
  - name: Prompt templates
    description: Search and manage prompt templates.
  - name: Users
    description: Search users available to the authenticated tenant.
  - name: Models
    description: Search available LLM models.
  - name: Files
    description: Check file upload status.
paths:
  /api/tools/search:
    post:
      tags:
        - Tools
      summary: Search Tools
      description: >-
        Search tools available for assignment to agents.


        Allowed filter columns: `custom_description`, `custom_name`, `id`,
        `shared_agent_tools.access_level`, `shared_agent_tools.owner_tenant`,
        `shared_agent_tools.shared_tenant`, `system_agent_tool`, `tenant`.


        Allowed sort columns: `custom_description`, `custom_name`, `id`,
        `system_agent_tool`, `tenant`.
      operationId: search_tools_endpoint_api_tools_search_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToolSearchRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolSearchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
components:
  schemas:
    ToolSearchRequest:
      properties:
        limit:
          type: integer
          maximum: 250
          minimum: 1
          title: Limit
          description: Maximum number of records to return.
          default: 100
        offset:
          type: integer
          minimum: 0
          title: Offset
          description: Number of records to skip before returning results.
          default: 0
        search_value:
          anyOf:
            - type: string
            - type: 'null'
          title: Search Value
          description: Optional search text used to filter results.
        filters:
          items:
            anyOf:
              - $ref: '#/components/schemas/FilterParam'
              - $ref: '#/components/schemas/FilterOrGroup'
          type: array
          title: Filters
          description: Additional filters applied to the list query.
        sort:
          anyOf:
            - $ref: '#/components/schemas/SortParam'
            - type: 'null'
          description: Optional sort definition.
        shared_agent_tool:
          type: boolean
          title: Shared Agent Tool
          description: Only return tools that have a shared tool relationship.
          default: false
        show_schemas:
          type: boolean
          title: Show Schemas
          description: >-
            Include effective input/output schemas, examples, and form schema in
            each tool row.
          default: false
      additionalProperties: false
      type: object
      title: ToolSearchRequest
      examples:
        - filters:
            - column: provider
              operator: equals
              value: openai
          limit: 100
          offset: 0
          search_value: gpt
          sort:
            column: model_name
            desc: false
    ToolSearchResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the request was successful.
        error_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Type
          description: Type of error if the request failed.
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message or informational message.
        data:
          $ref: '#/components/schemas/ToolSearchData'
          description: Tool search results.
      type: object
      required:
        - success
        - data
      title: ToolSearchResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    FilterParam:
      properties:
        column:
          type: string
          minLength: 1
          title: Column
          description: Database or API field name to filter on.
        value:
          title: Value
          description: Filter value to compare against the selected column.
        operator:
          type: string
          enum:
            - equals
            - not equals
            - contains
            - not contains
            - gte
            - lte
            - is
            - is not
            - in
            - not in
          title: Operator
          description: Filter operator. Defaults to equality when omitted.
          default: equals
      type: object
      required:
        - column
        - value
      title: FilterParam
      examples:
        - column: provider
          operator: equals
          value: openai
        - column: tenant
          operator: is
        - column: id
          operator: in
          value:
            - 1
            - 2
            - 3
        - column: description
          operator: contains
          value: billing
    FilterOrGroup:
      properties:
        or:
          items:
            $ref: '#/components/schemas/FilterParam'
          type: array
          minItems: 1
          title: Or
          description: >-
            Filter conditions joined with OR. The group is ANDed with other
            filters.
      type: object
      required:
        - or
      title: FilterOrGroup
      examples:
        - or:
            - column: tenant
              operator: equals
              value: tenant-id
            - column: tenant
              operator: is
    SortParam:
      properties:
        column:
          type: string
          minLength: 1
          title: Column
          description: Database or API field name to sort by.
        desc:
          type: boolean
          title: Desc
          description: Sort descending when true; ascending when false.
          default: false
      type: object
      required:
        - column
      title: SortParam
    ToolSearchData:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ToolSearchItem'
          type: array
          title: Items
          description: Tools matching the request.
        count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Count
          description: Total matching records when available.
      type: object
      title: ToolSearchData
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ToolSearchItem:
      properties:
        id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Id
          description: Agent tool ID.
        tenant:
          anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Tenant
          description: Owning tenant ID or joined tenant object.
        system_agent_tool:
          anyOf:
            - type: integer
            - type: 'null'
          title: System Agent Tool
          description: Linked system tool ID.
        setting_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Setting Id
          description: Connector settings ID used by this tool.
        default_tool_owner_config:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Default Tool Owner Config
          description: Owner default configuration for quick assignment.
        tool_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Tool Name
          description: Effective system tool name.
        tool_name_display:
          anyOf:
            - type: string
            - type: 'null'
          title: Tool Name Display
          description: Effective display name for the tool.
        tool_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Tool Description
          description: Effective system tool description.
        tool_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Tool Type
          description: Effective system tool type.
        custom_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Name
          description: Tenant-specific tool name override.
        custom_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Description
          description: Tenant-specific tool description override.
        tool_input_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Tool Input Schema
          description: Effective input schema, falling back to the system tool schema.
        tool_input_example:
          anyOf:
            - additionalProperties: true
              type: object
            - items: {}
              type: array
            - type: 'null'
          title: Tool Input Example
          description: Effective input example, falling back to the system tool example.
        tool_output_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Tool Output Schema
          description: Effective output schema, falling back to the system tool schema.
        tool_output_example:
          title: Tool Output Example
          description: Effective output example, falling back to the system tool example.
        tool_form_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Tool Form Schema
          description: >-
            Effective tool form schema, falling back to the system tool form
            schema.
        connector_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector Name
          description: Connector key from the linked system tool.
        connector_name_display:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector Name Display
          description: Human-readable connector name.
        connector_image:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector Image
          description: Connector image URL.
        custom_connection_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Connection Name
          description: Tenant-specific connection display name.
        custom_connection_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Connection Description
          description: Tenant-specific connection description.
        index_setting_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Index Setting Id
          description: Linked index store setting ID.
        is_orphaned:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Orphaned
          description: Whether the tool is orphaned from its source system tool.
        created_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Created At
          description: Creation timestamp.
      type: object
      title: ToolSearchItem
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````