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

# Generar token de sala LiveKit

> Genera un token de acceso de LiveKit para unirse a una sala de voz en tiempo real. El token incluye credenciales encriptadas y configuración del modelo para el agente de voz.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=es post /api/v1/llm/speech/livekit/token
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    La API MKA1 es una API RESTful que proporciona acceso a la plataforma MKA1.
    Aprende cómo comenzar con la API y el SDK de TypeScript
    [aquí](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Propietario
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Gestiona permisos para recursos LLM. Crea recursos, otorga/revoca permisos
      y elimina recursos. Solo los propietarios de recursos pueden otorgar,
      revocar o eliminar permisos.
    x-displayName: Autorización de Recursos
  - name: Embeddings
    description: >-
      Puntos finales de la API de incrustación de texto para generar
      representaciones vectoriales del texto. Crea incrustaciones semánticas
      para búsqueda, agrupamiento y coincidencia de similitudes utilizando
      varios modelos de incrustación.
    x-displayName: Incrustaciones
  - name: Feedback
    description: >-
      API de retroalimentación del usuario para calificar y comentar sobre las
      completaciones de chat. Recopila calificaciones de pulgares arriba/abajo y
      comentarios detallados para mejorar las respuestas del modelo y rastrear
      la satisfacción del usuario.
    x-displayName: Retroalimentación
  - name: Images
    description: >-
      Puntos finales de la API de generación de imágenes para crear imágenes a
      partir de descripciones de texto. Genera imágenes con control sobre el
      tamaño, la calidad y el estilo.
    x-displayName: Imágenes
  - name: MCP Vault
    description: >-
      API de bóveda MCP para almacenar configuraciones de servidor MCP propiedad
      del usuario y credenciales encriptadas. Los agentes hacen referencia a los
      ID de la bóveda para que los secretos se resuelvan solo en el momento de
      la ejecución de la herramienta.
    x-displayName: Bóveda MCP
  - name: Speech
    description: >-
      Puntos finales de la API de voz para el procesamiento de audio. Convierte
      texto en habla natural (TTS) o transcribe el habla a texto (STT) en
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de seguimiento de uso y análisis para monitorear el consumo de tokens,
      la cantidad de solicitudes y el análisis de costos. Visualiza estadísticas
      detalladas por usuario, modelo y período de tiempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extracción de datos estructurados para extraer información de
      archivos. Define esquemas JSON para extraer datos estructurados de
      imágenes, PDFs y documentos. Soporta plantillas de esquemas reutilizables.
    x-displayName: Extracción
  - name: Text Classification
    description: >-
      API de clasificación de texto para categorizar texto en etiquetas
      predefinidas. Utilice modelos de IA para clasificar el contenido del texto
      para análisis de sentimientos, categorización de temas y moderación de
      contenido.
    x-displayName: Clasificación de Texto
  - name: Responses
    description: >-
      API de respuestas impulsadas por agentes para crear agentes de IA con uso
      autónomo de herramientas. Crea asistentes conversacionales que pueden
      utilizar búsqueda en la web, operaciones con archivos, generación de
      imágenes, ejecución de código, simulación de uso de computadoras e
      integraciones de MCP. Soporta procesamiento en segundo plano, transmisión
      y seguimiento de estado en tiempo real.
    x-displayName: Respuestas
  - name: Files
    description: >-
      API de gestión de archivos para cargar, almacenar y gestionar archivos con
      expiración automática e integración con S3. Carga archivos que se pueden
      usar con Asistentes, Almacenes Vectoriales y otras funciones. Los archivos
      se almacenan en S3 con metadatos rastreados en PostgreSQL. Soporta la
      limpieza automática de archivos expirados.
    x-displayName: Archivos
  - name: Vector Stores
    description: >-
      API de almacenamiento de vectores para almacenar y buscar documentos
      utilizando incrustaciones. Crea almacenes de vectores, sube archivos con
      fragmentación automática y generación de incrustaciones, y realiza
      búsquedas semánticas. Los archivos se procesan de forma asincrónica
      utilizando flujos de trabajo de Temporal para durabilidad. Soporta
      limpieza automática de almacenes caducados y LanceDB para almacenamiento
      eficiente de vectores.
    x-displayName: Almacenes de Vectores
  - name: Conversations
    description: >-
      API de gestión de conversaciones para almacenar y recuperar el estado de
      la conversación a través de llamadas a la API de respuesta. Crea
      conversaciones, añade elementos (mensajes de usuario, mensajes del
      asistente, mensajes del sistema) y mantiene el historial de la
      conversación. Soporta seguimiento de metadatos y gestión del estado del
      diálogo en múltiples turnos.
    x-displayName: Conversaciones
  - name: Guardrails
    description: >-
      API de salvaguardias de seguridad de IA para configurar la moderación de
      contenido y las políticas de seguridad. Configura listas de palabras
      prohibidas, detección de inyección de mensajes y prevención de filtración
      de mensajes del sistema. Las salvaguardias se aplican a todas las
      solicitudes de una cuenta y se pueden probar antes del despliegue.
    x-displayName: Barandillas
  - name: Models
    description: >-
      API de listado de modelos para descubrir modelos disponibles. Devuelve IDs
      de modelos, propiedad y metadatos para todos los modelos registrados en la
      puerta de enlace.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gestionar paquetes de instrucciones y archivos
      versionados siguiendo el estándar de Habilidades del Agente. Crea,
      versiona y descarga paquetes de habilidades reutilizables que incluyen
      manifiestos SKILL.md para entornos de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Usa la API de Respuestas (`/api/v1/llm/responses`) en su
      lugar.** Puntos finales de completación de chat con soporte para
      transmisión, llamadas a herramientas y múltiples proveedores.
    x-deprecated: true
    x-displayName: Completaciones de Chat
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Evaluaciones
  - name: Fine-Tuning
    x-displayName: Ajuste fino
  - name: Memory Stores
    x-displayName: Almacenes de memoria
  - name: Prompts
    x-displayName: Sugerencias
  - name: API Key
    x-displayName: Clave de API
  - name: Organization
    x-displayName: Organización
  - name: Cluster Admin
    x-displayName: Administrador de clúster
  - name: Sessions
    description: Crear, inspeccionar, acceder y terminar sesiones de sandbox.
    x-displayName: Sesiones
  - name: Browser
    description: >-
      Conéctate a las sesiones del navegador a través del proxy del puerto de la
      puerta de enlace. Las sesiones del navegador exponen un punto final del
      Protocolo de DevTools de Chrome en el puerto 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Ejecutar comandos de shell y código dentro de una sesión de sandbox
      existente.
    x-displayName: Ejecución
  - name: Workspace
    description: >-
      Inspeccionar el manifiesto del espacio de trabajo, transferir archivos o
      archivos comprimidos, y descargar artefactos generados.
    x-displayName: Espacio de trabajo
  - name: Sandbox Usage
    description: >-
      Agrega estadísticas de uso de sandbox entre sesiones, ejecución y
      operaciones del espacio de trabajo.
    x-displayName: Uso de Sandbox
  - name: Sandbox Pricing
    description: >-
      Gestión de administrador de clúster de la tarjeta de tarifas de cómputo
      del entorno aislado utilizada para el gasto presupuestado.
    x-displayName: Precios de Sandbox
  - name: Agents
    description: Crea y gestiona definiciones de agentes reutilizables.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspeccionar el historial de configuración de un agente y revertir a una
      versión anterior.
    x-displayName: Versiones de Agente
  - name: Agent Runs
    description: >-
      Ejecutar agentes guardados e inspeccionar los resultados de ejecución
      persistidos.
    x-displayName: Ejecuta Agentes
  - name: Agent Schedules
    description: >-
      Crea y gestiona ejecuciones de agentes programadas o recurrentes
      guardadas.
    x-displayName: Horarios de Agentes
  - name: schema-4_other
    x-displayName: otro
  - name: Budgets
    x-displayName: Presupuestos
  - name: Settings
    x-displayName: Configuración
  - name: Deployments
    description: Servidores de inferencia de larga duración.
    x-displayName: Implementaciones
  - name: Fine-Tune Jobs
    description: Enviar, monitorear y cancelar trabajos de ajuste fino.
    x-displayName: Trabajos de ajuste fino
  - name: Container Images
    description: Imágenes de contenedor personalizadas para implementaciones y trabajos.
    x-displayName: Imágenes de contenedores
  - name: Serving Models
    description: Modelos registrados para implementación y ajuste fino.
    x-displayName: Sirviendo modelos
  - name: Volumes
    description: Almacenamiento persistente para pesos y puntos de control.
    x-displayName: Volúmenes
  - name: Secrets
    description: Credenciales inyectadas en tus cargas de trabajo.
    x-displayName: Secretos
  - name: Accelerators
    description: Tipos de aceleradores disponibles (GPU, NPU, TPU).
    x-displayName: Aceleradores
paths:
  /api/v1/llm/speech/livekit/token:
    post:
      tags:
        - Speech
      summary: Generar token de sala LiveKit
      description: >-
        Genera un token de acceso de LiveKit para unirse a una sala de voz en
        tiempo real. El token incluye credenciales encriptadas y configuración
        del modelo para el agente de voz.
      operationId: livekitToken
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LivekitTokenRequest'
            example:
              llm:
                model: auto
      responses:
        '200':
          description: Está bien
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitTokenResponse'
              example:
                token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
                url: wss://apigw.mka1.com/api/v1/livekit
                roomName: 550e8400-e29b-41d4-a716-446655440000
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from meetkai_mka1 import SDK


            with SDK(
                bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
            ) as sdk:

                res = sdk.llm.speech.livekit_token(llm={
                    "model": "auto",
                })

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { SDK } from "@meetkai/mka1";

            const sdk = new SDK({
              bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await sdk.llm.speech.livekitToken({
                livekitTokenRequest: {
                  llm: {
                    model: "auto",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: >-
            using MeetKai.MKA1;

            using MeetKai.MKA1.Types.Components;


            var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");


            var res = await sdk.Llm.Speech.LivekitTokenAsync(body: new
            MeetKai.MKA1.Types.Components.LivekitTokenRequest() {
                Llm = new MeetKai.MKA1.Types.Components.Llm() {
                    Model = "auto",
                },
            });


            // handle response
components:
  schemas:
    LivekitTokenRequest:
      type: object
      properties:
        llm:
          type: object
          properties:
            model:
              type: string
              description: La ID del modelo a utilizar para generar la respuesta.
            instructions:
              type: string
              description: >-
                Instrucciones del sistema o del desarrollador insertadas en el
                contexto del modelo antes de la entrada del usuario. Utiliza
                esto para guiar el comportamiento del agente, establecer la
                personalidad, definir limitaciones o proporcionar conocimientos
                específicos del dominio. Actúa como un mensaje del sistema
                persistente para esta respuesta.
            conversation:
              anyOf:
                - anyOf:
                    - type: string
                    - $ref: '#/components/schemas/Conversation'
                - type: 'null'
              description: >-
                La conversación a la que pertenece esta respuesta. Puede ser una
                cadena de identificación de conversación o un objeto de
                conversación. Se utiliza para mantener el contexto y la historia
                a través de múltiples interacciones con agentes. Opcional:
                omitir para interacciones únicas.
            previous_response_id:
              type: string
              description: >-
                El ID único de una respuesta anterior para continuar. Se utiliza
                para conversaciones de múltiples turnos para mantener el
                contexto y el historial. El agente tendrá acceso a todas las
                interacciones anteriores en la cadena.
            prompt:
              $ref: '#/components/schemas/PromptTemplate'
              description: >-
                Referencia a una plantilla de aviso para usar en esta respuesta,
                junto con variables a sustituir. Permite utilizar plantillas de
                aviso predefinidas y versionadas en lugar de instrucciones en
                línea. El sistema de plantillas soporta la interpolación de
                variables.
            tools:
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/FunctionToolDefinition'
                  - $ref: '#/components/schemas/FileSearchToolDefinition'
                  - $ref: '#/components/schemas/ComputerUseToolDefinition'
                  - $ref: '#/components/schemas/WebSearchToolDefinition'
                  - $ref: '#/components/schemas/MCPToolDefinition'
                  - $ref: '#/components/schemas/CodeInterpreterToolDefinition'
                  - $ref: '#/components/schemas/ImageGenerationToolDefinition'
                  - $ref: '#/components/schemas/LocalShellToolDefinition'
                  - $ref: '#/components/schemas/ShellToolDefinition'
                  - $ref: '#/components/schemas/CustomToolDefinition'
                  - $ref: '#/components/schemas/WebSearchPreviewToolDefinition'
                  - $ref: '#/components/schemas/HostedToolDefinition'
                  - $ref: '#/components/schemas/SleepToolDefinition'
                  - $ref: '#/components/schemas/HistoryToolDefinition'
              description: >-
                Array de definiciones de herramientas que el agente puede
                utilizar durante la generación de respuestas. Soporta
                herramientas integradas (búsqueda web, búsqueda de archivos,
                intérprete de código, uso de computadora, generación de
                imágenes) y herramientas personalizadas (funciones, MCP, shell
                local). Cada definición de herramienta especifica su tipo y
                configuración.
            tool_choice:
              $ref: '#/components/schemas/ToolChoice'
              description: >-
                Controles cómo el agente selecciona qué herramientas usar. Puede
                ser 'ninguna' (sin herramientas), 'automático' (el modelo
                decide), 'requerido' (debe usar herramientas) o un objeto de
                selección de herramientas específico. Utilice esto para forzar o
                evitar el uso de herramientas.
            parallel_tool_calls:
              type: boolean
              default: true
              description: >-
                Si permitir que el agente ejecute múltiples llamadas a
                herramientas en paralelo. Cuando es verdadero, el agente puede
                hacer llamadas a herramientas de manera concurrente para mayor
                eficiencia. Cuando es falso, las herramientas se llaman de
                manera secuencial. Por defecto, es verdadero para un mejor
                rendimiento.
            max_tool_calls:
              type: integer
              minimum: 1
              maximum: 300
              default: 64
              description: >-
                El número total máximo de llamadas a herramientas que el agente
                puede hacer durante esta respuesta. Útil para controlar el
                tiempo de ejecución y prevenir bucles infinitos. Se aplica a
                todas las herramientas integradas como búsqueda web, búsqueda de
                archivos, intérprete de código, etc. Debe ser un entero positivo
                entre 1 y 300. Por defecto es 64.
            reasoning:
              $ref: '#/components/schemas/ReasoningConfiguration'
              description: >-
                Opciones de configuración para modelos de razonamiento. Controla
                el nivel de esfuerzo de razonamiento (mínimo, bajo, medio, alto)
                y la verbosidad del resumen (automático, conciso, detallado).
                Solo aplicable a modelos específicos capaces de razonar.
            max_output_tokens:
              type: integer
              minimum: 1
              maximum: 9007199254740991
              description: >-
                El número máximo de tokens que el modelo puede generar en su
                salida. Establece un límite superior para controlar costos y la
                longitud de la respuesta. La salida real puede ser más corta si
                el modelo termina de manera natural. Debe ser un número entero
                positivo.
            temperature:
              type: number
              minimum: 0
              maximum: 2
              description: >-
                Controla la aleatoriedad en la salida del modelo. Valores más
                altos (por ejemplo, 1.5-2.0) hacen que la salida sea más
                aleatoria y creativa, mientras que valores más bajos (por
                ejemplo, 0.0-0.5) la hacen más enfocada y determinista. Debe
                estar entre 0 y 2.
            top_p:
              type: number
              minimum: 0
              maximum: 1
              description: >-
                Parámetro de muestreo de núcleo. El modelo considera solo los
                tokens con una probabilidad acumulada top_p. Valores más bajos
                (por ejemplo, 0.1) hacen que la salida sea más enfocada, valores
                más altos (por ejemplo, 0.9) permiten más diversidad. Debe estar
                entre 0 y 1. Alternativa a la temperatura.
            truncation:
              enum:
                - auto
                - disabled
              type: string
              default: auto
              description: >-
                La estrategia de truncamiento para manejar entradas que exceden
                la ventana de contexto del modelo. 'auto' trunca automáticamente
                los mensajes antiguos para ajustarse, 'desactivado' devuelve un
                error si el contexto es demasiado largo. Por defecto, es 'auto'.
            presence_penalty:
              type: number
              minimum: -2
              maximum: 2
              description: >-
                Penaliza los nuevos tokens en función de si aparecen en el texto
                hasta ahora. Valores más altos aumentan la probabilidad de que
                el modelo hable sobre nuevos temas.
            frequency_penalty:
              type: number
              minimum: -2
              maximum: 2
              description: >-
                Penaliza los nuevos tokens según su frecuencia en el texto hasta
                ahora. Valores más altos disminuyen la probabilidad del modelo
                de repetir la misma línea al pie de la letra.
            context_management:
              $ref: '#/components/schemas/ContextManagement'
              description: >-
                Estrategias de gestión del contexto para aplicar durante la
                generación de respuestas. Soporta la compresión, que resume el
                historial de conversación anterior cuando el contexto excede un
                umbral de tokens.
            service_tier:
              enum:
                - auto
                - default
                - flex
                - priority
              type: string
              default: auto
              description: >-
                Especifica el nivel de procesamiento para atender la solicitud.
                'auto' permite que el sistema elija, 'default' utiliza
                procesamiento estándar, 'flex' permite programación flexible
                para menor prioridad, 'priority' proporciona un procesamiento
                más rápido. Por defecto es 'auto'.
            metadata:
              type: object
              propertyNames:
                type: string
                maxLength: 64
              additionalProperties:
                type: string
                maxLength: 512
              description: >-
                Metadatos personalizados para adjuntar a esta respuesta como
                pares clave-valor. Las claves deben ser cadenas de hasta 64
                caracteres, los valores deben ser cadenas de hasta 512
                caracteres. Máximo 16 pares. Útil para seguimiento,
                categorización o para pasar identificadores personalizados a
                través de su sistema.
            text:
              $ref: '#/components/schemas/TextConfiguration'
              description: >-
                Opciones de configuración para la salida de texto del modelo.
                Incluye formato de respuesta (texto, objeto JSON, esquema JSON)
                y nivel de verbosidad (bajo, medio, alto). Utiliza esto para
                controlar la estructura de salida y el nivel de detalle.
          required:
            - model
          description: >-
            Configuración de LLM para la sesión de voz. Utiliza un subconjunto
            del esquema de respuestas creado: se excluyen campos como entrada,
            flujo, fondo, webhooks y almacenamiento, ya que el agente de voz
            gestiona esos. ADVERTENCIA: Este objeto se serializa en los
            metadatos JWT de LiveKit, que se transmiten a través de encabezados
            HTTP. Mantenga las cargas pequeñas: los arrays de herramientas
            grandes pueden exceder el límite de tamaño de encabezado de ~8KB
            impuesto por la mayoría de los servidores y proxies.
        stt:
          $ref: '#/components/schemas/SttConfig'
          description: >-
            Configuración opcional de VAD (detección de voz) para STT
            (conversión de voz a texto).
      required:
        - llm
      description: >-
        Parámetros de solicitud para generar un token de sala de LiveKit con
        configuración de LLM y opciones de configuración de STT.
    LivekitTokenResponse:
      type: object
      properties:
        token:
          type: string
          description: Token de acceso JWT para autenticarte con la sala de LiveKit
        url:
          type: string
          format: uri
          description: >-
            URL de WebSocket del servidor LiveKit para conectar (por ejemplo,
            wss://apigw.mka1.com/api/v1/livekit)
        roomName:
          type: string
          description: Nombre de sala UUID generado automáticamente asignado a esta sesión
      required:
        - token
        - url
        - roomName
      description: >-
        Respuesta que contiene un token de acceso de LiveKit, URL del servidor y
        el nombre de la sala generada.
      examples:
        - token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
          url: wss://apigw.mka1.com/api/v1/livekit
          roomName: 550e8400-e29b-41d4-a716-446655440000
    Conversation:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    PromptTemplate:
      type: object
      properties:
        id:
          type: string
        variables:
          type: object
          propertyNames:
            type: string
          additionalProperties:
            anyOf:
              - type: string
              - {}
        version:
          type: string
      required:
        - id
    FunctionToolDefinition:
      type: object
      properties:
        type:
          const: function
        name:
          type: string
        parameters:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        strict:
          type: boolean
        description:
          type: string
        defer_loading:
          type: boolean
      required:
        - type
        - name
        - parameters
        - strict
      title: Function tool definition
      description: >-
        Definición de herramienta de función: Define una herramienta de función
        que se puede llamar. Proporcione un nombre de herramienta y un esquema
        de parámetros, con una descripción opcional y carga diferida.
    FileSearchToolDefinition:
      type: object
      properties:
        type:
          const: file_search
        vector_store_ids:
          type: array
          items:
            type: string
        filters:
          anyOf:
            - $ref: '#/components/schemas/ComparisonFilter'
            - $ref: '#/components/schemas/CompoundFilter'
        max_num_results:
          type: integer
          minimum: 1
          maximum: 50
        ranking_options:
          $ref: '#/components/schemas/RankingOptions'
      required:
        - type
        - vector_store_ids
      title: File search tool definition
      description: >-
        Definición de herramienta de búsqueda de archivos: Configura la búsqueda
        semántica sobre uno o más almacenes de vectores, con filtros opcionales,
        opciones de clasificación y límites de resultados.
    ComputerUseToolDefinition:
      type: object
      properties:
        type:
          const: computer_use_preview
        display_height:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        display_width:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        environment:
          type: string
      required:
        - type
        - display_height
        - display_width
        - environment
      title: Computer use tool definition
      description: >-
        Definición de la herramienta de uso de computadoras: Configura la
        herramienta de vista previa de uso de computadoras, incluidas las
        dimensiones de visualización requeridas y el entorno de ejecución.
    WebSearchToolDefinition:
      type: object
      properties:
        type:
          enum:
            - web_search
            - web_search_2025_08_26
          type: string
        filters:
          $ref: '#/components/schemas/WebSearchFilters'
        search_context_size:
          enum:
            - low
            - medium
            - high
          type: string
          default: medium
        user_location:
          $ref: '#/components/schemas/UserLocation'
      required:
        - type
      title: Web search tool definition
      description: >-
        Definición de herramienta de búsqueda en la web: Permite la búsqueda en
        la web con filtros de dominio opcionales, tamaño del contexto de
        búsqueda y ubicación aproximada del usuario.
    MCPToolDefinition:
      type: object
      properties:
        type:
          const: mcp
        server_label:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[A-Za-z0-9._-]+$
        mcp_server_id:
          type: string
          description: >-
            Referencia a un servidor MCP gestionado por el gateway. Cuando se
            proporciona, server_url se resuelve desde el vault de MCP.
        mcp_credential_id:
          type: string
          description: >-
            Referencia opcional a una credencial MCP gestionada por la puerta de
            enlace y propiedad del llamador de la ejecución.
        allowed_tools:
          anyOf:
            - type: array
              items:
                type: string
            - $ref: '#/components/schemas/MCPToolFilter'
        authorization:
          type: string
        connector_id:
          enum:
            - connector_dropbox
            - connector_gmail
            - connector_googlecalendar
            - connector_googledrive
            - connector_microsoftteams
            - connector_outlookcalendar
            - connector_outlookemail
            - connector_sharepoint
          type: string
        headers:
          type: object
          propertyNames:
            type: string
            minLength: 1
            maxLength: 256
            pattern: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$
          additionalProperties:
            type: string
            minLength: 1
            maxLength: 8192
            pattern: ^[^\r\n]*$
        require_approval:
          anyOf:
            - const: always
            - const: never
            - $ref: '#/components/schemas/MCPToolApprovalFilter'
        server_description:
          type: string
        server_url:
          type: string
      required:
        - type
      title: MCP tool definition
      description: >-
        Definición de herramienta MCP: Se conecta a un servidor MCP y expone sus
        herramientas, con referencias opcionales a bóvedas, autenticación,
        encabezados, listas permitidas, ID de conector y política de aprobación.
    CodeInterpreterToolDefinition:
      type: object
      properties:
        type:
          const: code_interpreter
        container:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/CodeInterpreterContainerAuto'
      required:
        - type
        - container
      title: Code interpreter tool definition
      description: >-
        Definición de herramienta de intérprete de código: Permite la ejecución
        de código. Proporciona un ID de contenedor explícito o configuración de
        contenedor automática con identificadores de archivo opcionales y límite
        de memoria.
    ImageGenerationToolDefinition:
      type: object
      properties:
        type:
          const: image_generation
        background:
          enum:
            - transparent
            - opaque
            - auto
          type: string
          default: auto
        input_fidelity:
          enum:
            - high
            - low
          type: string
          default: low
        input_image_mask:
          $ref: '#/components/schemas/InputImageMask'
        model:
          type: string
          minLength: 1
          default: auto
          description: >-
            El modelo a utilizar para la generación de imágenes. Por defecto es
            'auto' para la selección automática del modelo.
        moderation:
          enum:
            - auto
            - low
            - none
          type: string
          default: auto
        output_compression:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          default: 100
        output_format:
          enum:
            - png
            - webp
            - jpeg
          type: string
          default: png
        partial_images:
          type: integer
          minimum: 0
          maximum: 3
          default: 0
        quality:
          enum:
            - low
            - medium
            - high
            - auto
          type: string
          default: auto
        size:
          enum:
            - 1024x1024
            - 1024x1536
            - 1536x1024
            - auto
          type: string
          default: auto
        prompt_guard:
          type: string
          description: >-
            Agrega una barandilla para evitar que el modelo genere contenido que
            no está permitido.
      required:
        - type
      title: Image generation tool definition
      description: >-
        Definición de herramienta de generación de imágenes: Permite la
        generación de imágenes y configura ajustes de salida como modelo,
        calidad, tamaño, formato, moderación y enmascaramiento opcional.
    LocalShellToolDefinition:
      type: object
      properties:
        type:
          const: local_shell
      required:
        - type
      title: Local shell tool definition
      description: >-
        Definición de herramienta de shell local: Habilita la herramienta de
        ejecución de shell local.
    ShellToolDefinition:
      type: object
      properties:
        type:
          const: shell
        environment:
          $ref: '#/components/schemas/ShellEnvironment'
          description: >-
            Configuración del entorno del contenedor. Por defecto, es
            container_auto.
      required:
        - type
      title: Shell tool definition
      description: >-
        Definición de herramienta de shell: Permite la ejecución de comandos de
        shell en un entorno de contenedor gestionado.
    CustomToolDefinition:
      type: object
      properties:
        type:
          const: custom
        name:
          type: string
        description:
          type: string
        format:
          $ref: '#/components/schemas/CustomToolFormat'
      required:
        - type
        - name
      title: Custom tool definition
      description: >-
        Definición de herramienta personalizada: Define una herramienta
        personalizada por nombre, con descripción opcional y restricciones de
        formato de salida opcionales.
    WebSearchPreviewToolDefinition:
      type: object
      properties:
        type:
          enum:
            - web_search_preview
            - web_search_preview_2025_03_11
          type: string
        search_context_size:
          enum:
            - low
            - medium
            - high
          type: string
        user_location:
          $ref: '#/components/schemas/UserLocation'
      required:
        - type
      title: Web search preview tool definition
      description: >-
        Definición de herramienta de vista previa de búsqueda web: habilita la
        variante de herramienta de vista previa de búsqueda web con tamaño de
        contexto opcional y ubicación del usuario.
    HostedToolDefinition:
      type: object
      properties:
        type:
          enum:
            - file_search
            - web_search_preview
            - computer_use_preview
            - code_interpreter
            - image_generation
          type: string
      required:
        - type
      title: Hosted tool definition
      description: >-
        Definición de herramienta alojada: Selector de herramienta alojada
        abreviado para tipos de herramientas integradas. Esta es una forma de
        compatibilidad que se superpone con los esquemas detallados por
        herramienta.
    SleepToolDefinition:
      type: object
      properties:
        type:
          const: sleep
      required:
        - type
      title: Sleep tool definition
      description: >-
        Definición de herramienta de sueño: Permite a un agente pausar
        brevemente la respuesta actual y reanudarla más tarde o cuando sea
        despertado.
    HistoryToolDefinition:
      type: object
      properties:
        type:
          const: history
      required:
        - type
      title: History tool definition
      description: >-
        Definición de herramienta de historia: Habilita la herramienta de
        recuperación del historial de conversaciones internas para la búsqueda
        semántica de interacciones pasadas.
    ToolChoice:
      anyOf:
        - $ref: '#/components/schemas/ToolChoiceMode'
        - $ref: '#/components/schemas/AllowedTools'
        - $ref: '#/components/schemas/HostedToolChoice'
        - $ref: '#/components/schemas/FunctionToolChoice'
        - $ref: '#/components/schemas/MCPToolChoice'
        - $ref: '#/components/schemas/CustomToolChoice'
    ReasoningConfiguration:
      type: object
      properties:
        effort:
          anyOf:
            - enum:
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
              type: string
            - type: 'null'
        summary:
          anyOf:
            - enum:
                - auto
                - concise
                - detailed
              type: string
            - type: 'null'
      required:
        - effort
        - summary
    ContextManagement:
      type: array
      maxItems: 1
      items:
        $ref: '#/components/schemas/CompactionContextManagement'
      description: >-
        Array de estrategias de gestión de contexto para aplicar durante la
        generación de respuestas.
    TextConfiguration:
      type: object
      properties:
        format:
          $ref: '#/components/schemas/ResponseFormat'
        verbosity:
          enum:
            - low
            - medium
            - high
          type: string
          default: medium
      required:
        - format
    SttConfig:
      type: object
      properties:
        silence_timeout_ms:
          type: integer
          minimum: 100
          maximum: 5000
          description: >-
            Tiempo de espera de silencio de VAD del lado del servidor en ms
            (100–5000). Controla cuánto tiempo esperar después del silencio
            antes de finalizar el habla.
        initial_silence_timeout_ms:
          type: integer
          minimum: 1000
          maximum: 30000
          description: >-
            Tiempo de espera en ms antes de que se detecte cualquier habla
            (1000-30000).
      description: >-
        Configuración VAD (detección de actividad de voz) STT (texto a voz)
        opcional para la sesión de voz.
    ComparisonFilter:
      type: object
      properties:
        type:
          enum:
            - eq
            - ne
            - gt
            - gte
            - lt
            - lte
          type: string
        key:
          type: string
        value:
          anyOf:
            - type: string
            - type: number
            - type: boolean
      required:
        - type
        - key
        - value
    CompoundFilter:
      type: object
      properties:
        type:
          enum:
            - and
            - or
          type: string
        filters:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/ComparisonFilter'
              - $ref: '#/components/schemas/CompoundFilter'
      required:
        - type
        - filters
    RankingOptions:
      type: object
      properties:
        ranker:
          type: string
        score_threshold:
          type: number
    WebSearchFilters:
      type: object
      properties:
        allowed_domains:
          type: array
          items:
            type: string
          default: []
    UserLocation:
      type: object
      properties:
        type:
          const: approximate
          default: approximate
        city:
          type: string
        country:
          type: string
        region:
          type: string
        timezone:
          type: string
    MCPToolFilter:
      type: object
      properties:
        read_only:
          type: boolean
        tool_names:
          type: array
          items:
            type: string
    MCPToolApprovalFilter:
      type: object
      properties:
        always:
          $ref: '#/components/schemas/MCPToolFilter'
        never:
          $ref: '#/components/schemas/MCPToolFilter'
    CodeInterpreterContainerAuto:
      type: object
      properties:
        type:
          const: auto
        file_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        memory_limit:
          anyOf:
            - enum:
                - 1g
                - 4g
                - 16g
                - 64g
              type: string
            - type: 'null'
      required:
        - type
    InputImageMask:
      type: object
      properties:
        file_id:
          type: string
        image_url:
          type: string
    ShellEnvironment:
      anyOf:
        - $ref: '#/components/schemas/ShellEnvironmentContainerAuto'
        - $ref: '#/components/schemas/ShellEnvironmentContainerReference'
      discriminator:
        propertyName: type
        mapping:
          container_auto:
            $ref: '#/components/schemas/ShellEnvironmentContainerAuto'
          container_reference:
            $ref: '#/components/schemas/ShellEnvironmentContainerReference'
    CustomToolFormat:
      anyOf:
        - $ref: '#/components/schemas/TextFormat'
        - $ref: '#/components/schemas/GrammarFormat'
    ToolChoiceMode:
      enum:
        - none
        - auto
        - required
      type: string
      title: Tool choice mode
      description: >-
        Modo de elección de herramientas: Selecciona cómo el modelo decide el
        uso de herramientas. Usa ninguno, automático o requerido.
    AllowedTools:
      type: object
      properties:
        type:
          const: allowed_tools
        mode:
          enum:
            - auto
            - required
          type: string
        tools:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              name:
                type: string
              server_label:
                type: string
            required:
              - type
      required:
        - type
        - mode
        - tools
      title: Allowed tools tool choice
      description: >-
        Herramientas permitidas elección de herramientas: Restringe el uso de
        herramientas a una lista proporcionada y establece si el uso de
        herramientas es opcional (automático) o obligatorio (requerido).
    HostedToolChoice:
      type: object
      properties:
        type:
          enum:
            - file_search
            - web_search_preview
            - computer_use_preview
            - code_interpreter
            - image_generation
          type: string
      required:
        - type
      title: Hosted tool choice
      description: >-
        Elección de herramienta alojada: Obliga a utilizar un tipo específico de
        herramienta alojada incorporada.
    FunctionToolChoice:
      type: object
      properties:
        type:
          const: function
        name:
          type: string
      required:
        - type
        - name
      title: Function tool choice
      description: >-
        Elección de herramienta de función: Obliga a una herramienta de función
        específica por nombre.
    MCPToolChoice:
      type: object
      properties:
        type:
          const: mcp
        server_label:
          type: string
        name:
          type: string
      required:
        - type
        - server_label
      title: MCP tool choice
      description: >-
        Elección de herramienta MCP: Fuerza un servidor MCP, opcionalmente
        limitado a un nombre de herramienta MCP específico.
    CustomToolChoice:
      type: object
      properties:
        type:
          const: custom
        name:
          type: string
      required:
        - type
        - name
      title: Custom tool choice
      description: >-
        Elección de herramienta personalizada: Fuerza una herramienta
        personalizada específica por nombre.
    CompactionContextManagement:
      type: object
      properties:
        type:
          const: compaction
        compact_threshold:
          type: integer
          minimum: 1000
          maximum: 9007199254740991
          description: >-
            El umbral de tokens por encima del cual se debe compactar el
            contexto de la conversación. Debe ser al menos 1000.
      required:
        - type
        - compact_threshold
    ResponseFormat:
      anyOf:
        - $ref: '#/components/schemas/TextResponseFormat'
        - $ref: '#/components/schemas/JSONSchemaResponseFormat'
        - $ref: '#/components/schemas/JSONObjectResponseFormat'
    ShellEnvironmentContainerAuto:
      type: object
      properties:
        type:
          const: container_auto
        network_policy:
          $ref: '#/components/schemas/ShellNetworkPolicy'
          description: Política de red que restringe el acceso saliente.
        skills:
          type: array
          items:
            $ref: '#/components/schemas/SkillEntry'
          description: Habilidades para inyectar en el directorio /skills del contenedor.
        memory_stores:
          type: array
          items:
            $ref: '#/components/schemas/MemoryStoreMount'
          description: Almacenes de memoria para montar en el contenedor bajo /mnt/memory.
      required:
        - type
    ShellEnvironmentContainerReference:
      type: object
      properties:
        type:
          const: container_reference
        container_id:
          type: string
          description: ID de un contenedor existente para reutilizar.
        network_policy:
          $ref: '#/components/schemas/ShellNetworkPolicy'
          description: Política de red que restringe el acceso saliente.
        skills:
          type: array
          items:
            $ref: '#/components/schemas/SkillEntry'
          description: Habilidades para inyectar en el directorio /skills del contenedor.
        memory_stores:
          type: array
          items:
            $ref: '#/components/schemas/MemoryStoreMount'
          description: Almacenes de memoria para montar en el contenedor bajo /mnt/memory.
      required:
        - type
        - container_id
    TextFormat:
      type: object
      properties:
        type:
          const: text
      required:
        - type
    GrammarFormat:
      type: object
      properties:
        type:
          const: grammar
        definition:
          type: string
        syntax:
          enum:
            - lark
            - regex
          type: string
      required:
        - type
        - definition
        - syntax
    TextResponseFormat:
      type: object
      properties:
        type:
          const: text
      required:
        - type
    JSONSchemaResponseFormat:
      type: object
      properties:
        type:
          const: json_schema
        name:
          type: string
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
        schema:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        description:
          type: string
        strict:
          type: boolean
          default: false
      required:
        - type
        - name
        - schema
    JSONObjectResponseFormat:
      type: object
      properties:
        type:
          const: json_object
      required:
        - type
    ShellNetworkPolicy:
      type: object
      properties:
        type:
          const: allowlist
        allowed_domains:
          type: array
          items:
            type: string
          description: Dominios permitidos para el acceso a la red saliente.
        domain_secrets:
          type: array
          items:
            $ref: '#/components/schemas/ShellNetworkPolicyDomainSecret'
          description: Secretos inyectados por dominio.
      required:
        - type
    SkillEntry:
      anyOf:
        - $ref: '#/components/schemas/SkillReference'
        - $ref: '#/components/schemas/PreconfiguredSkillReference'
      discriminator:
        propertyName: type
        mapping:
          skill_reference:
            $ref: '#/components/schemas/SkillReference'
          preconfigured:
            $ref: '#/components/schemas/PreconfiguredSkillReference'
    MemoryStoreMount:
      type: object
      properties:
        store_id:
          type: string
          minLength: 1
          description: ID del almacén de memoria a montar en el contenedor.
        label:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^(?!\.+$)[A-Za-z0-9._-]+$
          description: Nombre de directorio para esta tienda en /mnt/memory.
        access:
          enum:
            - read_only
            - read_write
          type: string
          default: read_only
          description: Si se puede modificar el almacén de memoria montado.
        description:
          type: string
          maxLength: 2000
          description: Descripción corta opcional de la tienda para el contexto del agente.
        instructions:
          type: string
          maxLength: 4000
          description: >-
            Instrucciones opcionales sobre cómo el agente debe utilizar este
            almacén montado.
      required:
        - store_id
        - label
    ShellNetworkPolicyDomainSecret:
      type: object
      properties:
        domain:
          type: string
          description: El dominio con el que asociar este secreto.
        name:
          type: string
          description: El nombre/placeholder para el secreto (por ejemplo, $API_KEY).
        value:
          type: string
          description: El valor secreto a sustituir.
      required:
        - domain
        - name
        - value
    SkillReference:
      type: object
      properties:
        type:
          const: skill_reference
        skill_id:
          type: string
          description: ID de la habilidad para inyectar en el contenedor.
        version:
          anyOf:
            - type: string
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
          description: >-
            Número de versión, o 'última' para la versión más reciente. Por
            defecto, se utiliza la versión predeterminada de la habilidad.
      required:
        - type
        - skill_id
    PreconfiguredSkillReference:
      type: object
      properties:
        type:
          const: preconfigured
        name:
          type: string
          description: >-
            Nombre de una habilidad preconfigurada (por ejemplo, 'pdf', 'docx',
            'xlsx', 'pptx').
      required:
        - type
        - name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````