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

# List Default LLM Tools

> Lists built-in default system tools and runtime-auto LLM tools. Use V3 [endpoints](/api-reference/v3/intro).

Returns the full built-in tools catalog:

* **assignable\_system** — enable with `nodes[].toolsIds` on `PATCH /agents/{id}` (e.g. `web-search`, `human-handoff`, `end-call`)
* **runtime\_auto** — injected by the LLM runtime (`KB-Search`, `Structured-Search`, `present`, `resolve_caller_timezone`); not created via Tools CRUD

Custom HTTP tools still use `POST /agents/{agentId}/tools`.


## OpenAPI

````yaml GET /tools/defaults
openapi: 3.0.3
info:
  title: Convocore OpenAPI
  description: Full API reference for Convocore
  version: 1.0.4
servers:
  - url: https://eu-gcp-api.vg-stuff.com/v3
security: []
paths:
  /tools/defaults:
    get:
      tags:
        - Tools
      summary: List Default LLM Tools
      description: >-
        Returns every built-in default system tool (assign via nodes[].toolsIds
        on PATCH /agents/{id}) and runtime-auto LLM tools from defaultLLmTools
        (KB-Search, present, Structured-Search, resolve_caller_timezone). Custom
        tools still use POST/GET /agents/{agentId}/tools.
      operationId: toolRouter-listDefaultTools
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    $ref: '#/components/schemas/DefaultLlmToolsCatalog'
                required:
                  - success
                  - message
                  - data
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      security:
        - Authorization: []
components:
  schemas:
    DefaultLlmToolsCatalog:
      type: array
      items:
        $ref: '#/components/schemas/DefaultLlmToolCatalogEntry'
      description: >-
        Full catalog of built-in default system tools + runtime LLM tools
        (KB-Search, present, etc.).
    DefaultLlmToolCatalogEntry:
      type: object
      properties:
        id:
          type: string
          description: Stable tool id / declaration name used by the runtime.
        name:
          type: string
          description: Tool name exposed to the LLM.
        description:
          type: string
          description: When / how the tool should be used.
        kind:
          allOf:
            - $ref: '#/components/schemas/DefaultLlmToolKind'
          description: >-
            assignable_system = enable via nodes[].toolsIds; runtime_auto =
            injected by the LLM runtime (not created via Tools CRUD).
        assignableViaToolsIds:
          type: boolean
          description: >-
            If true, include this id in nodes[].toolsIds on PATCH /agents/{id}
            to enable it.
        variablesIds:
          type: array
          items:
            type: string
          description: System variable keys this tool reads/writes.
        channels:
          type: array
          items:
            type: string
          description: Channels where this tool is supported.
        notes:
          type: string
          description: Extra runtime / eligibility notes for API consumers.
      required:
        - id
        - name
        - description
        - kind
        - assignableViaToolsIds
      additionalProperties: false
    message_11569e:
      type: object
      properties:
        message:
          type: string
      required:
        - message
      additionalProperties: false
    DefaultLlmToolKind:
      type: string
      enum:
        - assignable_system
        - runtime_auto
      description: >-
        assignable_system = enable via nodes[].toolsIds; runtime_auto = injected
        by the LLM runtime (not created via Tools CRUD).
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  $ref: '#/components/schemas/message_11569e'
            required:
              - message
              - code
            additionalProperties: false
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````