Last updated: March 22, 2026

Overview

Every significant action in your ValidGraph account is logged in the audit trail. Track who did what, when, and from where — essential for compliance, accountability, and debugging team workflows.

How It Works

1. All actions are automatically logged:
– Validations performed
– Projects created/modified/deleted
– Team members added/removed/role changes
– Alert settings changed
– Data exports
– API key management
– Webhook configuration
2. Each entry includes: timestamp, user, action, target, IP address
3. Audit trail is searchable and filterable
4. Retention: full account lifetime

Tier Availability

| Tier | Available |
|——|———–|
| Enterprise | Yes |

RBAC Roles: Actions are tracked per user role
Team Seats: Member actions are logged
API Key Management: API actions are tracked separately

Mini-Tutorial

Step 1: Access Audit Trail (Enterprise Only)

Navigate to Settings > Audit Trail (available only to Owner/Admin in Enterprise accounts).

Step 2: Browse All Actions

The audit trail displays all account actions in reverse chronological order (newest first).

Step 3: Apply Filters

Narrow results by:
– Date range
– User (who performed the action)
– Action type (validate, team, export, etc.)
– Resource type (project, webhook, API key)

Step 4: Examine Details

Click any entry to see the full context: user email, IP address, timestamp, and what changed.

Step 5: Export for Compliance

Use “Export Audit Log” to download the full history as CSV for compliance/audit purposes.

Technical Details

Get Audit Trail

GET /api/v1/audit-log?page=1&per_page=50&action=validate&user_id=user_123&date_from=2025-01-01&date_to=2025-03-22

Response:

{
  "entries": [
    {
      "id": "audit_xyz789",
      "timestamp": "2025-03-22T14:30:00Z",
      "user_id": "user_456",
      "user_email": "[email protected]",
      "action": "validate",
      "resource_type": "url",
      "resource_id": "val_12345",
      "details": {
        "url": "https://example.com/page",
        "schema_type": "Article",
        "result": "valid",
        "score": 88
      },
      "ip_address": "192.168.1.100",
      "user_agent": "Mozilla/5.0..."
    },
    {
      "id": "audit_xyz788",
      "timestamp": "2025-03-22T14:00:00Z",
      "user_id": "user_123",
      "user_email": "[email protected]",
      "action": "team_member_added",
      "resource_type": "team",
      "resource_id": "user_456",
      "details": {
        "member_email": "[email protected]",
        "role": "editor"
      },
      "ip_address": "192.168.1.50",
      "user_agent": "Mozilla/5.0..."
    }
  ],
  "pagination": {
    "page": 1,
    "total": 1250,
    "has_more": true
  }
}

Trackable Actions

validation: URL, paste, bulk validation
project_created: New project
project_modified: Settings changed
project_deleted: Project removal
team_member_added: Invitation sent
team_member_removed: Member revoked
team_role_changed: Permission changed
export_csv: Data export
export_pdf: Report generated
webhook_created: Webhook setup
webhook_deleted: Webhook removed
api_key_created: New API key
api_key_deleted: API key revoked
white_label_updated: Branding changed
alert_triggered: Automation notification
cron_report_sent: Scheduled report emailed

Action Detail

Each audit entry includes:
timestamp: ISO 8601 format, UTC
user_id / user_email: Who performed it
action: Type of action
resource_type / resource_id: What was affected
details: Full context (URL validated, member role, etc.)
ip_address: Source IP
user_agent: Browser/client info

References

SOC 2 Audit Trail Requirements
GDPR Data Access Rights (Article 15)
Audit Log Best Practices
ValidGraph Audit Trail API