C
Cotizera Docs

Registro de Auditoría

API de Registro de Auditoría

Endpoint para consultar el registro de auditoría. Registra todas las acciones críticas (creación de cotizaciones, cambios de estado, actualizaciones de clientes, cambios de configuración, suplantación de identidad, etc.).


Listar Registros de Auditoría

GET /api/audit-logs

Permiso: config:manage | Plan: PRO (requiere la función audit_log_ui)

Obtiene una lista paginada y filtrable de las entradas del registro de auditoría del tenant actual.

Parámetros de consulta:

Parameter Type Required Description
action string No Filtra por acción (ej. create, update, delete, status_change, invite, duplicate)
entity string No Filtra por tipo de entidad (ej. quote, client, product, tenant, collaborator, Webhook)
userId string No Filtra por ID de usuario (formato CUID)
from string No Fecha de inicio (formato YYYY-MM-DD)
to string No Fecha de fin (formato YYYY-MM-DD, inclusivo hasta el final del día)
page number No Número de página (predeterminado: 1, máximo: 1000)
limit number No Elementos por página (predeterminado: 25, máximo: 100)

Respuesta 200 OK:

{
  "data": [
    {
      "id": "clxyz...",
      "action": "create",
      "entity": "quote",
      "entityId": "clxyz...",
      "metadata": { "quoteNumber": 42 },
      "tenantId": "...",
      "createdAt": "2026-03-31T10:00:00.000Z",
      "user": {
        "id": "clxyz...",
        "name": "Carlos Méndez",
        "email": "carlos@empresa.mx"
      }
    }
  ],
  "total": 230,
  "page": 1,
  "totalPages": 10
}

Errores:

Status Error When
400 "Parámetros inválidos" Parámetros de consulta no válidos (ej. fecha malformada, CUID no válido)
401 "No autorizado" Sesión ausente o no válida
403 "Sin permisos" El rol no tiene el permiso config:manage
403 "Función disponible en el plan Pro" El tenant está en el plan FREE

Ejemplo con cURL:

curl -X GET "https://cotizera.com/api/audit-logs?action=create&entity=quote&from=2026-03-01&to=2026-03-31&page=1" \
  -H "Cookie: next-auth.session-token=YOUR_TOKEN"
© 2026 Cotizera. All rights reserved.