Autenticación
Cómo crear tu API key, qué son los scopes y cómo mantener la key segura.
Autenticación
La API de Meteor se autentica con una API key secreta. Cada request lleva la key en el header Authorization, y la key define a qué workspace pertenece y qué puede hacer (sus scopes).
Formato de la key
Todas las keys empiezan con un prefijo que indica su tipo:
met_live_…— key de producción. Ejecuta acciones reales y consume Energía.met_test_…— key de modo test: runs sin costo, ideal para desarrollar. Los efectos externos (mandar WhatsApp, ejecutar integraciones) quedan bloqueados.
La key es un secreto de servidor. Nunca la pongas en el navegador, en una app móvil, ni la subas al control de versiones. Si se filtra, revócala desde el panel y genera una nueva.
Crear una key
Desde tu panel de Meteor: Ajustes → Desarrolladores → Crear API key. Elegís los scopes que necesita y el entorno (live o test). La key se muestra una sola vez — guárdala apenas la creas.
Si tu plan actual no incluye acceso a la API, el panel te ofrece activar el Plan Developer (sin costo fijo).
Usar la key
Guárdala en una variable de entorno, nunca hardcodeada:
export MET_API_KEY=met_live_tu_key_aqui
Con el SDK:
import Met from '@meteor.ia/sdk';
const met = new Met(process.env.MET_API_KEY, { workspaceId: 7 });
Con curl, la key va como Bearer token:
curl https://api.met.meteor.com.co/api/v1/workspaces/7/runs \
-H "Authorization: Bearer $MET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"Hola"}'
Scopes
Una key solo puede hacer aquello para lo que tiene scope. Los scopes siguen el patrón dominio:acción:
| Scope | Permite |
|---|---|
runs:execute | Ejecutar Mets |
runs:read | Leer runs e historial |
contacts:read / contacts:write | Leer / modificar el CRM |
webhooks:manage | Gestionar webhooks entrantes |
billing:read | Leer plan y consumo |
Cada dominio (agents, integrations, tasks, collections, items…) tiene sus scopes de lectura y escritura. Pide solo los que tu integración necesita: es más seguro.
Si una key intenta algo fuera de sus scopes, la API responde 403 con el código insufficient_scope. No reintentes: pide al dueño de la key que amplíe los scopes.
Revocar
Una key revocada deja de funcionar en menos de 60 segundos. Revocá y rota keys ante cualquier sospecha de filtración, y usa keys distintas por entorno (una para test, otra para producción).