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

# Listar catálogo de tools disponibles



## OpenAPI

````yaml /openapi/public-api.yaml get /v1/tools
openapi: 3.1.0
info:
  title: Agents Studio API
  version: 1.0.0
  description: >
    API del backend de Agents Studio. Expone servicios multi-tenant para
    gestionar agentes

    (texto y voz), catálogo de herramientas, habilitación de workspaces y
    operaciones de

    telefonía. Todos los endpoints requieren autenticación Bearer y respetan los
    contratos

    documentados en `docs/modules`.
  license:
    name: Proprietary
    url: https://getsupervisor.ai/legal/terms
servers:
  - url: https://api-prod.studio.getsupervisor.ai
    description: Producción
  - url: https://sandbox.agents.studio.getsupervisor.ai
    description: Sandbox
security:
  - BearerAuth: []
tags:
  - name: Agents
    description: >
      Gestión general de agentes y sus metadatos.

      Scopes requeridos: `agents:read` para consultas y `agents:write` para
      creación, actualización y operaciones sobre teléfonos.
  - name: Agent Versions
    description: Versionado y mantenimiento de versiones publicadas de los agentes.
  - name: Agent Schedules
    description: >-
      Configuración de horarios regulares y excepciones puntuales para controlar
      la disponibilidad de los agentes.
  - name: Agent Knowledge
    description: Uploads y sincronización de knowledge bases asociadas al agente.
  - name: Agent Tags
    description: Gestión de etiquetas asociadas a agentes.
  - name: Campaigns
    description: >
      Gestión de campañas masivas basadas en CSV para ejecutar agentes de forma
      batch.

      Scopes requeridos: `campaigns:read` para consultas y `campaigns:write`
      para creación.
  - name: Calls
    description: |
      Consultas de llamadas (Speech Analytics) disponibles para el workspace.
      Scopes requeridos: `calls:read`.
  - name: Knowledge
    description: Gestión de recursos de conocimiento asociados a tools.
  - name: Agent Instructions
    description: >
      Operaciones sobre instrucciones (prompt) gestionadas por los usuarios
      finales para

      guiar y corregir el comportamiento del agente. Las instrucciones se
      aplican a la

      versión activa del agente, se mantienen como texto libre sin formato (1 a
      500

      caracteres) y su prioridad se controla mediante el campo `order`.

      Scopes requeridos: `agent-instructions:read` para consultas y
      `agent-instructions:write` para creación o edición.
  - name: Voices
    description: Catálogo consolidado de voces provenientes de proveedores externos.
  - name: Catalogs
    description: >
      Gestión centralizada de catálogos (idiomas, tonos, voces, etiquetas) con
      alcance global o

      específico por workspace. Scopes requeridos: `catalogs:read` para
      consultas y

      `catalogs:write` para creación y modificaciones.
  - name: Agent Phones
    description: Conexión y desconexión de teléfonos asignados a agentes.
  - name: API Keys
    description: Gestión de credenciales de acceso programático y sus permisos.
  - name: Agent Blueprints
    description: >
      Gestión del blueprint (personalidad) asociado a cada versión de agente.

      Scopes requeridos: `agent-blueprints:read` para lectura y
      `agent-blueprints:write` para cambios en blueprint.
  - name: Agent Stages
    description: >
      Autoría de stages del blueprint del agente, abarcando orden, prompts y
      validaciones previas a la publicación.

      Scopes requeridos: `stages:read` para consultas y `stages:write` para
      creación y edición. La validación se ejecuta automáticamente en cada
      mutación y la sincronización con proveedores sucede mediante jobs internos
      tras los cambios.
  - name: Stage Triggers
    description: >
      Gestión detallada de triggers que conectan stages dentro del blueprint y
      definen las transiciones conversacionales.

      Scopes requeridos: `stage-triggers:*` (o políticas equivalentes bajo
      `stages:*`).
  - name: Workspaces
    description: Gestión multi-tenant y habilitación de credenciales por workspace.
  - name: Tools
    description: >
      Catálogo y ejecución de tools disponibles para los agentes.

      Scopes requeridos: `tools:read` para listar y `tools:execute` para
      ejecutar tools.
  - name: Webhooks
    description: >
      Gestión de webhooks por workspace para suscribirse a eventos del dominio y
      recibir notificaciones HTTP.

      Scopes requeridos: `webhooks:read` para consultas y `webhooks:write` para
      crear, actualizar o eliminar webhooks y suscripciones.
paths:
  /v1/tools:
    get:
      tags:
        - Tools
      summary: Listar catálogo de tools disponibles
      operationId: listTools
      parameters:
        - $ref: '#/components/parameters/XWorkspaceId'
        - name: agentType
          in: query
          schema:
            type: string
            enum:
              - chat
              - voice
          description: Filtra tools compatibles con el tipo de agente.
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Catálogo de tools
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolListResponse'
        '400':
          description: Parámetros de consulta inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    XWorkspaceId:
      name: x-workspace-id
      in: header
      required: true
      description: Identificador del workspace multi-tenant.
      schema:
        type: string
        format: uuid
    Page:
      name: page
      in: query
      required: false
      description: Número de página (>= 1). Por defecto es 1.
      schema:
        type: integer
        minimum: 1
        default: 1
    Limit:
      name: limit
      in: query
      required: false
      description: Tamaño de página (1..100). Por defecto 20.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  schemas:
    ToolListResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ToolSummary'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Código principal del error (alto nivel).
        message:
          type: string
          description: Mensaje legible para humanos.
        details:
          type: object
          description: >
            Información adicional específica del error.

            Cuando aplique, `details.subcode` provee un identificador estable
            para que el frontend decida qué UI mostrar.
          properties:
            subcode:
              type: string
              description: >-
                Identificador específico del error (p.ej.
                `WORKSPACE_NOT_PROVISIONED`).
            workspaceId:
              type: string
              format: uuid
              description: Identificador de workspace relacionado cuando aplica.
          additionalProperties: true
      required:
        - code
        - message
    ToolSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        identifier:
          type: string
        description:
          type:
            - string
            - 'null'
        enabled:
          type: boolean
        visible:
          type: boolean
        category:
          type:
            - string
            - 'null'
        auth:
          type: string
          enum:
            - none
            - oauth2
            - api_key
            - custom
        requiresUserAuth:
          type: boolean
        configSchema:
          anyOf:
            - $ref: '#/components/schemas/ToolConfigSchema'
            - type: 'null'
          description: >-
            Contrato JSON Schema 2020-12 para las acciones disponibles de la
            tool.
        catalogMetadata:
          $ref: '#/components/schemas/ToolCatalogMetadata'
          description: >-
            Contenido multi-idioma para renderizar cards en el catalogo de
            tools.
      required:
        - id
        - name
        - identifier
        - enabled
        - visible
        - auth
        - requiresUserAuth
        - catalogMetadata
    PaginationMeta:
      type: object
      properties:
        total:
          type: integer
        page:
          type: integer
        limit:
          type: integer
        hasNext:
          type: boolean
        hasPrevious:
          type: boolean
          description: Indica si existe una página previa a la actual.
      required:
        - total
        - page
        - limit
        - hasNext
        - hasPrevious
    ToolConfigSchema:
      type: object
      description: >-
        Descriptor de configuración que publica cada tool para validar
        argumentos de ejecución.
      required:
        - schemaVersion
        - actions
      properties:
        schemaVersion:
          type: string
          enum:
            - json-schema/2020-12
          description: Versión de JSON Schema soportada por el backend.
        actions:
          type: object
          description: Conjunto de acciones etiquetadas por identificador.
          minProperties: 1
          additionalProperties:
            $ref: '#/components/schemas/ToolConfigSchemaAction'
      additionalProperties: false
    ToolCatalogMetadata:
      type: object
      description: Metadata multi-idioma para renderizar tarjetas de tools estilo catalogo.
      required:
        - version
        - i18n
      properties:
        version:
          type: integer
          enum:
            - 1
        i18n:
          type: object
          description: Mapa de idioma (BCP-47) a contenido del card.
          additionalProperties:
            $ref: '#/components/schemas/ToolCatalogCard'
      additionalProperties: false
    ToolConfigSchemaAction:
      type: object
      description: Definición individual de una acción disponible dentro de la tool.
      required:
        - schema
      properties:
        summary:
          type: string
          description: Resumen breve mostrado en la UI del workspace.
        description:
          type: string
          description: Detalle extendido sobre la acción y sus expectativas.
        notes:
          type: array
          description: Notas operativas o restricciones asociadas a la acción.
          items:
            type: string
          minItems: 1
        prompts:
          $ref: '#/components/schemas/ToolConfigSchemaActionPrompts'
        schema:
          description: >-
            JSON Schema 2020-12 utilizado para validar los argumentos de la
            acción.
          oneOf:
            - type: object
              additionalProperties: true
            - type: boolean
      additionalProperties: false
    ToolCatalogCard:
      type: object
      required:
        - author
        - media
        - description
        - features
        - useCases
        - installation
        - appliesTo
        - links
      properties:
        author:
          $ref: '#/components/schemas/ToolCatalogAuthor'
        media:
          $ref: '#/components/schemas/ToolCatalogMedia'
        description:
          $ref: '#/components/schemas/ToolCatalogDescription'
        features:
          type: array
          items:
            type: string
        useCases:
          type: array
          items:
            type: string
        installation:
          $ref: '#/components/schemas/ToolCatalogInstallation'
        appliesTo:
          $ref: '#/components/schemas/ToolCatalogAppliesTo'
        links:
          $ref: '#/components/schemas/ToolCatalogLinks'
      additionalProperties: false
    ToolConfigSchemaActionPrompts:
      type: object
      description: Textos auxiliares que puede consumir el LLM durante la orquestación.
      properties:
        assistant:
          type: string
          description: Prompt que se inyecta como contexto para el asistente.
        user:
          type: string
          description: Prompt que se comparte con el usuario final.
        validationFailure:
          type: string
          description: Mensaje sugerido cuando el payload no supera la validación.
      additionalProperties: false
    ToolCatalogAuthor:
      type: object
      required:
        - name
      properties:
        name:
          type: string
        url:
          type:
            - string
            - 'null'
      additionalProperties: false
    ToolCatalogMedia:
      type: object
      required:
        - iconUrl
        - coverImageUrl
      properties:
        iconUrl:
          type:
            - string
            - 'null'
        coverImageUrl:
          type:
            - string
            - 'null'
      additionalProperties: false
    ToolCatalogDescription:
      type: object
      required:
        - short
        - markdown
      properties:
        short:
          type:
            - string
            - 'null'
        markdown:
          type:
            - string
            - 'null'
      additionalProperties: false
    ToolCatalogInstallation:
      type: object
      required:
        - requirements
        - permissions
        - steps
        - notes
      properties:
        requirements:
          type: array
          items:
            type: string
        permissions:
          type: array
          items:
            type: string
        steps:
          type: array
          items:
            type: string
        notes:
          type: array
          items:
            type: string
      additionalProperties: false
    ToolCatalogAppliesTo:
      type: object
      required:
        - chat
        - voice
      properties:
        chat:
          type:
            - boolean
            - 'null'
        voice:
          type:
            - boolean
            - 'null'
      additionalProperties: false
    ToolCatalogLinks:
      type: object
      required:
        - docsUrl
        - privacyUrl
        - termsUrl
      properties:
        docsUrl:
          type:
            - string
            - 'null'
        privacyUrl:
          type:
            - string
            - 'null'
        termsUrl:
          type:
            - string
            - 'null'
      additionalProperties: false
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````