Logs
GET
/api/v1/logsLista os logs de auditoria da organização, com paginação por cursor
A paginação é por cursor opaco, não por offset: passe o next_cursor da página anterior em cursor para avançar. Um cursor inválido responde 400 INVALID_CURSOR. Ações do tipo api_key.* (ex.: api_key.created) têm o metadata zerado quando o chamador é uma chave de API, mesmo com escopo logs:read — só uma sessão vê o name e os scopes gravados nesses eventos, para que uma chave vazada não consiga ler por aqui o que a guarda de sessão de /api-keys já bloqueia.
- Autenticação
- Sessão do painel, Chave de API
- Escopo
- logs:read
- Limite
- 120 requisições por minuto por organização e credencial
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| limit | número inteiro | Não | Quantidade de logs por página, de 1 a 100. Padrão 50. |
| cursor | string | Não | Cursor opaco devolvido como next_cursor na página anterior. |
| action | enum | Não | Filtra por uma ação específica, ex.: channel.created, webhook.deleted, api_key.revoked, message.sent. |
| target_type | enum | Não | Filtra pelo tipo do alvo, ex.: whatsapp_channel, webhook_endpoint, api_key, whatsapp_template. |
| api_key_id | UUID | Não | Filtra pelas ações realizadas por uma chave de API específica. |
| from | string (ISO 8601 com timezone) | Não | Só ações a partir deste instante. |
| to | string (ISO 8601 com timezone) | Não | Só ações até este instante. |
Requisição
curl "https://crprohub.com/api/v1/logs?limit=20&action=webhook.deleted" \ -H "Authorization: Bearer hub_pk_EXEMPLO_NAO_REAL"
Resposta
{
"data": {
"logs": [
{
"id": "b7c8d9e0-1f2a-4b3c-4d5e-6f7a8b9c0d1e",
"action": "webhook.deleted",
"target_type": "webhook_endpoint",
"target_id": "b1c2d3e4-5f6a-4b7c-8d9e-0f1a2b3c4d5e",
"actor_type": "user",
"actor_id": "c9d0e1f2-3a4b-4c5d-6e7f-8a9b0c1d2e3f",
"actor_label": null,
"request_id": "req_EXEMPLO123",
"metadata": {},
"created_at": "2026-08-21T11:00:00.000Z"
}
],
"next_cursor": null
}
}