Saltar al contenido principal
Utiliza tu clave API de MKA1 en el encabezado Authorization en cada solicitud. Para integraciones de servidor con múltiples usuarios, también envía X-On-Behalf-Of para identificar al usuario final.
¿Necesitas la ruta completa de la solicitud, reglas de propagación de encabezados y detalles internos del intercambio de JWT? Lee la inmersión profunda en autenticación.

Envía tu clave API

Pasa tu clave API como un token bearer.
Authorization: Bearer <mka1-api-key>
Usa https://apigw.mka1.com como la URL base.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const response = await mka1.llm.responses.create({
  model: 'gpt-5',
  input: 'Write a short welcome message.',
})
Si tu clave API falta, es inválida o no tiene acceso al recurso solicitado, la API de MKA1 devolverá un error de autenticación o autorización.

Envía X-On-Behalf-Of para un usuario final

Usa X-On-Behalf-Of cuando tu servidor realice una solicitud en nombre de uno de tus usuarios finales. Establece el valor del encabezado como tu propio identificador estable de usuario final.
X-On-Behalf-Of: <end-user-id>
Por ejemplo, si tu aplicación almacena usuarios como user_123, utiliza ese valor de manera consistente en las solicitudes realizadas para ese usuario.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const response = await mka1.llm.responses.create(
  {
    model: 'gpt-5',
    input: 'Summarize this support ticket.',
  },
  {
    headers: { 'X-On-Behalf-Of': 'user_123' },
  }
)
Si tu integración no actúa en nombre de un usuario final específico, omite X-On-Behalf-Of.

Elige el patrón adecuado

Usa solo Authorization cuando:
  • Estás llamando a la API de MKA1 para tu propio flujo de trabajo backend.
  • La solicitud no está vinculada a un usuario final específico.
Usa tanto Authorization como X-On-Behalf-Of cuando:
  • Tu servidor actúa en nombre de uno de tus usuarios finales.
  • Quieres que las solicitudes, respuestas, archivos o uso permanezcan asociados a ese usuario final.
No envíes una dirección de correo electrónico o un nombre visible mutable a menos que ese ya sea tu identificador estable de usuario final. Utiliza un ID de tu propio sistema que no cambie.

Intercambia una clave API por un JWT

Usa POST /api/v1/authentication/api-key/exchange-token cuando necesites un JWT de corta duración para un servicio downstream. Envía tu clave API de MKA1 en Authorization. Luego pasa un cuerpo JSON con:
  • audience: La URL del servicio que debe aceptar el token.
  • externalUserId: Tu ID de usuario final para el subject del JWT.
  • expiresIn: Duración opcional del token en segundos. El OpenAPI spec permite de 300 a 2592000.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const result = await mka1.auth.apiKey.exchangeToken({
  audience: 'https://my-awesome-website.com',
  externalUserId: 'user_123',
  expiresIn: 3600,
})
Una respuesta exitosa devuelve un objeto JSON con token.

Usa un JWT para solicitudes posteriores

Una vez que tengas un JWT del endpoint de intercambio, úsalo como token bearer en lugar de tu clave API. Esto te permite emitir credenciales de corta duración a servicios downstream o usuarios finales sin exponer tu clave API.
import { SDK } from '@meetkai/mka1'

// Usa el JWT devuelto por el endpoint de intercambio
const mka1 = new SDK({ bearerAuth: `Bearer ${result.token}` })

const response = await mka1.llm.responses.create({
  model: 'gpt-5',
  input: 'Write a short welcome message.',
})

Próximos pasos