POST /api/unregister
Remove o registro da máquina e revoga a ApiKey. Chamado automaticamente durante desinstalação. Requer autenticação via X-API-Key.
Desinstalação do agente:
1. Usuário executa: Core.exe -uninstall
2. Agente faz: POST /api/unregister
3. Envia: X-API-Key header
4. Servidor revoga ApiKey
5. Máquina desaparece do painel
6. Agente é removido
curl -X POST https://t2mark.setor9.net/api/unregister \
-H "X-API-Key: ak_5f1b3c8e9d2a4b6c7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b" \
-H "Content-Type: application/json" \
-d '{
"reason": "user_uninstall",
"timestamp": "2026-05-05T14:30:00Z"
}'
| Campo | Tipo | Descrição |
|---|---|---|
| reason | string | "user_uninstall", "reinstall", etc |
| timestamp | string | Data/hora da desinstalação |
{
"status": "unregistered",
"message": "Machine successfully unregistered",
"apiKeyRevoked": true
}
| Campo | Tipo | Significado |
|---|---|---|
| status | string | "unregistered" = removido |
| apiKeyRevoked | boolean | ApiKey foi revogada |
| message | string | Mensagem descritiva |
POST /api/unregister recebido:
1. Valida ApiKey
2. Marca ApiKey: "revoked = true"
3. Marca máquina: "status = inactive"
4. Registra timestamp de revogação
5. No painel, máquina desaparece ou mostra "Inativa"
6. Futuras requisições com esta ApiKey → 401 Unauthorized
Qualquer requisição subsequente com essa ApiKey retorna erro:
curl -X GET https://t2mark.setor9.net/api/policy \
-H "X-API-Key: ak_revogada_5f1b3c8e..."
Resposta:
{
"error": "Unauthorized",
"message": "API key has been revoked"
}
Antes (Ativa):
Máquina: PC-VENDAS-001
Status: 🟢 Online
Última sincronização: Agora
Política: Restrito v2
Depois (Desinstalada):
Máquina: PC-VENDAS-001
Status: 🔴 Inativo (revogado)
Última sincronização: Há 2 horas
Açao: [Reativar] [Deletar histórico]
Se você reinstala o agente na mesma máquina:
1. POST /api/register (com TenantKey)
2. HWID já existe
3. Servidor gera NOVA ApiKey
4. REVOGA ApiKey antiga (já estava revogada anyway)
5. Máquina volta como "Online"
6. Histórico é preservado
Usuário faz: Painel de Controle → Desinstalar
↓
Agente executa: Core.exe -uninstall
↓
POST /api/unregister é enviado
↓
Máquina desaparece do painel
Também pode ser feito pelo servidor:
Admin clica: [Deletar] na máquina
↓
Servidor revoga ApiKey imediatamente
↓
Agente tenta polling → 401 Unauthorized
↓
Agente percebe que foi revogado
↓
Agente para ou tenta re-registro
Máquina A (antiga): Desinstala agente
↓ POST /api/unregister
↓ ApiKey revogada
Máquina A (agora com outro dono): Instala agente novo
↓ POST /api/register
↓ HWID já existe, mas ApiKey antiga revogada
↓ Servidor gera NOVO ApiKey
↓ Novo dono consegue usar
| Operação | Tempo |
|---|---|
| POST /api/unregister → Resposta | 100-500 ms |
| ApiKey revogada | Imediato |
| Máquina desaparece do painel | 5-10 segundos |
| Próxima requisição com ApiKey revogada | 401 Unauthorized |
⚠️ Após unregister:
Para recuperar a máquina:
QUANDO CHAMADO:
Durante desinstalação (Core.exe -uninstall)
Ou quando admin remove máquina no painel
ENVIA:
POST /api/unregister
Header: X-API-Key: ak_...
Body (opcionais):
{
"reason": "user_uninstall",
"timestamp": "2026-05-05..."
}
RECEBE:
200 OK
{
"status": "unregistered",
"apiKeyRevoked": true
}
EFEITO:
✓ ApiKey revogada (não funciona mais)
✓ Máquina marcada como inativa
✓ No painel: Status = 🔴 Inativo
✓ Pode re-registrar depois
RE-REGISTRO:
POST /api/register (novo)
Receberá novo ApiKey
Histórico preservado