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:
--api-key(flag, também via envMPM_API_KEYno mesmo arg)MPM_API_KEY(variável de ambiente)cnf— vault cifrado dentro do Mautic (media/.mpm/cnf)/opt/mpm/config.toml(campoapi_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, motivofingerprint_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.