Cuándo usar
El flujo estándar de activación exige que el operador abra el navegador, haga login (Magic Link u OAuth) y espere a que el registro se complete. Para el primer registro de un email, eso es necesario. Para toda instalación posterior del mismo operador (mismo email), puede saltarse el navegador por completo y activar la licencia en una única llamada HTTP. Ideal para:- Despliegue automatizado (CI/CD, Terraform, Ansible)
- Múltiples instancias del mismo producto en distintos servidores
- Contenedores efímeros que se levantan y mueren con frecuencia
- Aprovisionamiento programático (multi-tenant, multi-región)
La primera activación todavía requiere el flujo manual (navegador + Magic Link/OAuth). Solo después el email queda “conocido” por el servidor de licenciamiento, y la activación automática pasa a funcionar.
Endpoint
Respuesta de éxito (200):
api_key devuelta está lista para usar inmediatamente — no es necesario llamar a /v1/activate después. La instancia ya queda como active en el servidor.
Si la llamada se repite con el mismo (email, instance_id), la respuesta incluye "reused": true y devuelve la misma api_key de la llamada anterior. Esto hace la llamada idempotente — segura para retry en scripts de arranque.
Modelo de confianza
El servidor de licenciamiento acepta la llamada usando solo el email como prueba de identidad. Sin segundo factor, sin captcha, sin rate limit. Por qué:- El email ya fue verificado una vez (en el registro manual inicial, vía Magic Link u OAuth)
- Emitir una licencia para un customer no es una acción destructiva — todas las instancias quedan visibles en el portal del customer
- El customer puede revocar
api_keys en cualquier momento si detecta uso no autorizado - El customer puede desactivar la activación automática (
auto_activation_enabled = false) en el portal si sospecha que el email se filtró
Códigos de error
La respuesta
CUSTOMER_NOT_FOUND es la señal canónica para que el cliente caiga al flujo manual. Siempre implemente ese fallback — primer despliegue de un email nuevo necesita pasar por el manual.
Flujo recomendado en el cliente
Variable de entorno estándar
Los productos Evolution leen el email del operador de la variableEVOLUTION_OPERATOR_EMAIL:
Idempotencia detallada
La llamada es idempotente en(email, instance_id):
Esto es lo que hace seguro llamar la ruta en el startup del contenedor — si el contenedor ya se registró antes, recibe la misma key; si es nuevo, recibe key nueva.
Los contenedores que siempre generan UUID nuevo en cada boot acumulan APIKeys (una por boot) bajo el mismo customer. Si quiere comportamiento idempotente real, persista el
instance_id en un volumen montado (/data/instance-id) entre reinicios.Cómo desactivar para mi customer
En el portal del customer (https://license.evolutionfoundation.com.br/portal) hay un toggle “Activación Automática por Email”.
Cuando desactivado:
- Todas las llamadas a
/v1/register/autocon su email devuelven403 AUTO_ACTIVATION_DISABLED - Nuevos despliegues obligatoriamente pasan por el flujo manual (navegador + Magic Link/OAuth)
- Sus
api_keys existentes siguen funcionando normalmente
- Operan en ambiente regulado y quieren auditoría en cada activación
- Tienen el email conocido públicamente y quieren reducir superficie de ataque
- Sospechan de uso indebido del email
Auditoría
Cada llamada a/v1/register/auto genera una fila en activation_logs con alert_type = 'auto_activation'. El portal del customer muestra:
- Fecha/hora de cada auto-activación
- IP del servidor que solicitó
- Localización aproximada (país/ciudad vía GeoIP)
- Resultado (
createdoreused)
Próximos pasos
Flujo manual
Flujo completo de
/v1/register/init — necesario en el primer registroTelemetría
Qué se envía en cada llamada de licencia
FAQ
Preguntas frecuentes
Resumen
Resumen del sistema de licenciamiento