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

# Registrar una receta de servicio

> Registre (o vuelva a registrar) un manifiesto de receta fijado por digest en el catálogo. Una nueva receta se registra deshabilitada; el re-registro reemplaza el manifiesto y preserva el estado de habilitación. Solo administradores del clúster.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=es put /api/v1/serving/recipes/{name}
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 Connectors
    description: >-
      Conecta agentes guardados a canales de mensajería externos como Telegram,
      incluyendo intercambio de texto, fotos y documentos compatibles.
    x-displayName: Conectores de 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
  - description: Servidores de inferencia de larga duración.
    name: Deployments
    x-displayName: Implementaciones
  - description: Enviar, monitorear y cancelar trabajos de ajuste fino.
    name: Fine-Tune Jobs
    x-displayName: Trabajos de ajuste fino
  - description: Imágenes de contenedor personalizadas para implementaciones y trabajos.
    name: Container Images
    x-displayName: Imágenes de contenedores
  - description: Modelos registrados para implementación y ajuste fino.
    name: Serving Models
    x-displayName: Sirviendo modelos
  - description: Almacenamiento persistente para pesos y puntos de control.
    name: Volumes
    x-displayName: Volúmenes
  - description: Credenciales inyectadas en tus cargas de trabajo.
    name: Secrets
    x-displayName: Secretos
  - description: Tipos de aceleradores disponibles (GPU, NPU, TPU).
    name: Accelerators
    x-displayName: Aceleradores
  - description: >-
      Aprovisionamiento de organización de administrador del clúster para
      servicio.
    name: Serving Tenants
    x-displayName: Sirviendo a los inquilinos
  - description: >-
      Catálogo administrado por el administrador del clúster de recetas de
      tiempo de ejecución de servicio. El registro almacena un manifiesto
      anclado por digest; solo las recetas habilitadas pueden desplegarse.
    name: Serving Recipes
    x-displayName: Recetas de servicio
paths:
  /api/v1/serving/recipes/{name}:
    put:
      tags:
        - Serving Recipes
      summary: Registrar una receta de servicio
      description: >-
        Registre (o vuelva a registrar) un manifiesto de receta fijado por
        digest en el catálogo. Una nueva receta se registra deshabilitada; el
        re-registro reemplaza el manifiesto y preserva el estado de
        habilitación. Solo administradores del clúster.
      operationId: registerServingRecipe
      parameters:
        - in: path
          name: name
          required: true
          schema:
            title: Recipe Name
            type: string
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServingRecipeManifest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServingRecipe'
          description: Respuesta Exitosa
        '401':
          description: Falta el token de portador o no es válido.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServingError'
          description: Se requiere acceso de administrador del clúster.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServingHTTPValidationError'
          description: Error de validación
      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.serving.recipes.register(name_param="<value>", accelerators={
                    "key": {
                        "image": "https://loremflickr.com/3488/2020?lock=1236590378159766",
                    },
                }, api_format="images", model_selectors=[
                    {
                        "modality": "text-generation",
                    },
                ], name="vllm-openai", port=275465, version=572385, engine="vllm")

                # 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.serving.recipes.register({
                name: "<value>",
                servingRecipeManifest: {
                  accelerators: {
                    "key": {
                      image: "https://loremflickr.com/3488/2020?lock=1236590378159766",
                    },
                  },
                  apiFormat: "images",
                  modelSelectors: [
                    {
                      modality: "text-generation",
                    },
                  ],
                  name: "vllm-openai",
                  port: 275465,
                  version: 572385,
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: |-
            using MeetKai.MKA1;
            using MeetKai.MKA1.Types.Components;
            using System.Collections.Generic;

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

            var res = await sdk.Serving.Recipes.RegisterAsync(
                name: "<value>",
                body: new ServingRecipeManifest() {
                    Accelerators = new Dictionary<string, ServingRecipeAccelerator>() {
                        { "key", new ServingRecipeAccelerator() {
                            Image = "https://loremflickr.com/3488/2020?lock=1236590378159766",
                        } },
                    },
                    ApiFormat = ApiFormat.Images,
                    ModelSelectors = new List<ServingRecipeModelSelector>() {
                        new ServingRecipeModelSelector() {
                            Modality = "text-generation",
                        },
                    },
                    Name = "vllm-openai",
                    Port = 275465,
                    Version = 572385,
                }
            );

            // handle response
components:
  schemas:
    ServingRecipeManifest:
      description: >-
        Una definición de receta de runtime de serving (el manifiesto
        recipe.yaml): qué imagen se ejecuta en qué hardware, su contrato de
        preparación y qué modelos puede servir.
      properties:
        accelerators:
          additionalProperties:
            $ref: '#/components/schemas/ServingRecipeAccelerator'
          minProperties: 1
          title: Accelerators
          type: object
        apiFormat:
          enum:
            - responses
            - completions
            - embeddings
            - images
            - transcriptions
            - tts
          title: Api Format
          type: string
        apiProviderType:
          title: Api Provider Type
          type: string
        capabilities:
          additionalProperties: true
          title: Capabilities
          type: object
        description:
          title: Description
          type: string
        engine:
          default: vllm
          title: Engine
          type: string
        model_selectors:
          items:
            $ref: '#/components/schemas/ServingRecipeModelSelector'
          minItems: 1
          title: Model Selectors
          type: array
        name:
          examples:
            - vllm-openai
          title: Name
          type: string
        port:
          maximum: 65535
          minimum: 1
          title: Port
          type: integer
        readiness:
          additionalProperties: true
          title: Readiness
          type: object
        runtime:
          $ref: '#/components/schemas/ServingRecipeRuntime'
        version:
          minimum: 1
          title: Version
          type: integer
      required:
        - name
        - version
        - apiFormat
        - port
        - accelerators
        - model_selectors
      title: ServingRecipeManifest
      type: object
    ServingRecipe:
      description: >-
        Una receta de servicio registrada con su estado de habilitación a nivel
        de clúster. Solo las recetas habilitadas se pueden desplegar.
      properties:
        created_at:
          type: string
          format: date-time
          title: Created At
        definition:
          $ref: '#/components/schemas/ServingRecipeManifest'
        disabled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Disabled At
        enabled:
          title: Enabled
          type: boolean
        enabled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Enabled At
        enabled_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Enabled By
        name:
          examples:
            - vllm-openai
          title: Name
          type: string
        updated_at:
          type: string
          format: date-time
          title: Updated At
      required:
        - name
        - definition
        - enabled
        - enabled_at
        - enabled_by
        - disabled_at
        - created_at
        - updated_at
      title: ServingRecipe
      type: object
    ServingError:
      description: Envolvente de error estándar.
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      required:
        - error
      title: ServingError
      type: object
    ServingHTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ServingValidationError'
          title: Detail
          type: array
      title: ServingHTTPValidationError
      type: object
    ServingRecipeAccelerator:
      description: >-
        Una entrada de clase de hardware de un manifiesto de receta. Hoy en día,
        la ruta de despliegue solo consume la entrada cuda.
      properties:
        image:
          description: >-
            Referencia de imagen de contenedor para esta clase de hardware.
            Fijada por digest para recetas registradas.
          title: Image
          type: string
        min_mem_gb:
          anyOf:
            - type: number
            - type: 'null'
          title: Min Mem Gb
        min_vcpu:
          anyOf:
            - type: number
            - type: 'null'
          title: Min Vcpu
        min_vram_gb:
          anyOf:
            - type: number
            - type: 'null'
          title: Min Vram Gb
      required:
        - image
      title: ServingRecipeAccelerator
      type: object
    ServingRecipeModelSelector:
      description: Un modelo de forma la receta puede servir.
      properties:
        architecture:
          title: Architecture
          type: string
        family:
          title: Family
          type: string
        modality:
          examples:
            - text-generation
          title: Modality
          type: string
      required:
        - modality
      title: ServingRecipeModelSelector
      type: object
    ServingRecipeRuntime:
      description: >-
        Lanzamiento de plantillas (argumentos o entorno) de un manifiesto de
        receta.
      properties:
        args:
          items:
            type: string
          type: array
          title: Args
        env:
          additionalProperties:
            type: string
          type: object
          title: Env
      title: ServingRecipeRuntime
      type: object
    ErrorDetail:
      description: El cuerpo de una respuesta de error.
      properties:
        code:
          examples:
            - tenant_not_provisioned
          title: Code
          type: string
        message:
          type: string
          title: Message
        type:
          examples:
            - authorization_error
          title: Type
          type: string
      required:
        - code
        - message
        - type
      title: ErrorDetail
      type: object
    ServingValidationError:
      properties:
        ctx:
          type: object
          title: Context
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      required:
        - loc
        - msg
        - type
      title: ServingValidationError
      type: object
  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>`.

````