API key e fingerprint

Toda chamada autenticada do mpm usa uma API key (mpm_live_...) e um fingerprint que prende essa key a uma instalação específica do Mautic.

Resolução da key (cascata)

O mpm procura a key nesta ordem e usa a primeira que achar:

  1. --api-key (flag, também via env MPM_API_KEY no mesmo arg)
  2. MPM_API_KEY (variável de ambiente)
  3. cnf — vault cifrado dentro do Mautic (media/.mpm/cnf)
  4. /opt/mpm/config.toml (campo api_key, legado)

Quando a key vem de uma fonte "de fora" (flag/env/config), o mpm a persiste no cnf da instância — cifrada com o secret_key do install. Assim a próxima execução já acha a key sozinha, mesmo sem flag.

O que é o fingerprint

O fingerprint amarra a key ao ambiente onde o Mautic roda, pra impedir que a mesma key seja usada em várias instalações (compartilhamento).

fingerprint = sha256( secret_key.trim() + "|" + host_normalizado )

O secret_key e o host saem do config/local.php do Mautic. O mpm envia o resultado no header X-MPM-Fingerprint em toda rota autenticada.

TOFU — Trust On First Use

  • Primeiro uso: a key ainda não tem fingerprint. O servidor grava o fingerprint que chegou (bind).
  • Usos seguintes: o servidor compara. Se bater, segue.
  • Divergência: a key é revogada permanentemente (status revoked, motivo fingerprint_mismatch). Não há reset automático — peça uma key nova.

Isso significa: mover a key pra outra instalação queima a key. Use uma key por instalação.

Erros que você vai ver

Código Significado O que fazer
426 fingerprint_required mpm antigo não manda o header mpm self-update
403 key_revoked key usada fora do ambiente original pedir key nova ao admin
401 key inválida/ausente conferir a cascata acima

Caso especial: site_url placeholder

Se o Mautic ainda está com site_url placeholder (https:// vazio), o host normalizado fica vazio e o fingerprint recai só no secret_key. É o comportamento correto — o bind acontece mesmo assim, e passa a considerar o host quando a URL real for configurada.

Quantas keys posso ter

Cada client pode ter N keys ativas (default 10, ajustável pelo admin em clients.settings.max_active_keys). Gere uma por instalação. A criação mostra a key uma única vez (reveal-once) — guarde num gerenciador de senhas.

By Borlot.com.br on 26/06/2026