Skip to main content

Audit Logs

Collects audit logs tracking actions and events within the Volt.io payment platform.

Sync Type: Incremental

Requirements

Before configuring this input, you need:

  1. Access to Fuzebox Dashboard

    • Log in to your Volt.io Fuzebox account at https://fuzebox.volt.io
    • Navigate to Settings > API Credentials or Developer Settings
  2. Create OAuth2 Application

    • Create a new OAuth2 application if you don't already have one
    • You'll receive a Client ID and Client Secret
    • Securely store these credentials
  3. API User Credentials

    • Create or obtain API user credentials (username and password)
    • Ensure the API user has permissions to access audit log reports
  4. Required Permissions

    • Your API user must have access to the Reporting API
    • Specifically, permissions to request and fetch audit log reports

Details

Monad tracks the state of the input using an ascending cursor pattern with timestamps. The connector uses Volt.io's asynchronous reporting API:

  1. Request Report: The connector requests an audit log report for a specific date range
  2. Poll Status: The connector polls the report status every 3 seconds until it's ready (maximum 60 seconds)
  3. Fetch Data: Once available, the connector retrieves the complete audit log data
  4. Process Records: Events are processed and state is updated to track the last successfully ingested timestamp

Authentication Flow

Uses OAuth2 Password Grant flow:

  • Initial authentication with username/password and client credentials
  • Access tokens expire after 24 hours
  • The connector automatically refreshes tokens before expiry (5-minute buffer)
  • Refresh tokens are stored and reused for subsequent token requests

Configuration

The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below.

Settings

SettingTypeRequiredDescription
Base URLstringYesBase URL of your Volt.io API instance. Use https://api.sandbox.volt.io for sandbox environment
Customer IDstringNoOptional: Filter audit logs by specific customer ID
Backfill Start TimedateNoThe date to start fetching data from. If not specified, no past records will be fetched.

Secrets

SecretTypeRequiredDescription  
Client IDstringYesOAuth2 Client ID for authentication
Client SecretstringYesOAuth2 Client Secret for authentication
UsernamestringYesUser/merchant email for authentication context
PasswordstringYesUser/merchant password for authentication context

Rate Limits

The Volt.io API rate limits are not documented in their public API documentation. The connector implements a conservative rate limit of 10 requests per second to avoid throttling.

Recommendations

AspectRecommendation
Conservative LimitThe connector uses 10 requests/second by default
Initial TestingStart with small date ranges and monitor for rate limit errors
MonitoringWatch API response headers for rate limit information (if provided)
Error HandlingThe connector includes retry logic, but be prepared for potential throttling
Account LimitsContact Volt.io support to understand specific rate limits for your account tier

Source: Volt.io API Documentation - Rate limits not specified

Expected Behavior

If rate limits are encountered:

  • The connector will log rate limit errors
  • Automatic retry with exponential backoff may occur depending on HTTP status codes
  • Consider reducing sync frequency or date range size if limits are consistently hit
  • Contact Volt.io support for clarification on your account's rate limits

Troubleshooting

Authentication Errors

Symptoms: oauth token request failed with status 401 or authentication failures

Solutions:

  • Verify your Client ID and Client Secret are correct
  • Ensure your Username and Password are valid and haven't expired
  • Check if credentials have been revoked or reset
  • Confirm you're using the correct base URL (production vs sandbox)
  • Test credentials directly in the Fuzebox dashboard

Report Timeout Errors

Symptoms: report generation timeout after 60s or slow report generation

Solutions:

  • The date range may be too large (though the connector chunks to 92 days)
  • Volt.io API may be experiencing delays or high load
  • Check Volt.io status for service issues
  • Contact Volt.io support if timeouts persist
  • Consider adjusting sync schedule to less busy times

Empty or Missing Data

Symptoms: No audit logs returned despite activity in the platform

Solutions:

  • Verify audit logging is enabled for your Volt.io account
  • Check that the date range includes periods with actual activity
  • Confirm your API user has the correct permissions to access audit logs
  • Review the Volt.io Fuzebox dashboard to verify logs exist
  • Ensure you're querying the correct environment (production vs sandbox)

Connection Errors

Symptoms: Network timeouts or connection refused errors

Solutions:

  • Verify network connectivity to the Volt.io API
  • Check firewall rules allow HTTPS (443) to the configured base URL
  • Ensure DNS resolution works for the API domain
  • Test connectivity using curl or similar tools
  • Verify the base URL is correct for your environment

Sample Record

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"customerId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customerName": "Acme Corp",
"createdAt": "2025-01-08 19:23:45.000 +0000 UTC",
"eventAction": "loggedIn",
"context": "common",
"domainModel": "user",
"recordId": "8f14e45f-ceea-467a-9934-00c04f789abc",
"correlationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"userId": "a1b2c3d4-e5f6-7890-ab12-cd3456ef7890",
"userName": "John Doe",
"userEmail": "john.doe@example.com"
}

Sample Record Fields

The audit log records contain the following key information:

  • id: Unique identifier for the audit log entry
  • customerId: Customer's unique identifier
  • customerName: Customer's display name
  • createdAt: Timestamp of when the event occurred (format: YYYY-MM-DD HH:MM:SS.mmm +0000 UTC)
  • eventAction: Type of action performed (e.g., loggedIn, loggedOut, passwordChanged, mfaEnabled, paymentCreated, paymentFailed, subscriptionChanged, accountUpdated, apiKeyCreated, apiKeyRevoked, roleAssigned, permissionGranted)
  • context: Event context category (e.g., common, payment, user, security, access, configuration)
  • domainModel: Domain model type affected (e.g., user, payment, customer, subscription, apiKey, role, permission)
  • recordId: Record's unique identifier
  • correlationId: Correlation identifier for tracking related events
  • userId: User's unique identifier who performed the action
  • userName: User's display name
  • userEmail: User's email address