Nodium Screenshot API -- Notifications

Configure alerts for credit usage, error spikes, and system events to stay informed about your account activity.


Table of Contents


Overview

Nodium can send automatic notifications when important events occur on your account. Notifications help you:

  • Avoid unexpected credit exhaustion by receiving warnings before you run out.
  • Detect problems early when error rates spike.
  • Stay informed about system changes such as IP range updates or scheduled maintenance.
  • Track team activity across your organization.

Notifications are configured per organization in the Nodium Dashboard under Settings > Notifications.


Notification Types

TypeTriggerDefault
Credit warningCredits drop below a configured thresholdEnabled at 80%
Credits exhaustedAll credits consumed for the billing periodAlways enabled
Error rate spikeError rate exceeds a configured thresholdDisabled
Daily usage summarySent once per day with the previous day's statsDisabled
IP range updateNodium's IP ranges are about to changeEnabled
Scheduled maintenanceUpcoming maintenance windowsEnabled
API key expirationAn API key is expiring within 7 daysEnabled
Team activityMembers added, removed, or roles changedDisabled

Email Notifications

Email is the default notification channel. Notifications are sent to the email address associated with the account owner. Additional recipients can be added in the dashboard.

Adding recipients

  1. Go to Settings > Notifications > Email Recipients.
  2. Enter the email address and select which notification types to send.
  3. The recipient receives a confirmation email and must opt in.

Email format

Notification emails include:

  • A clear subject line identifying the event (e.g., "Nodium: Credit usage at 80%")
  • A summary of the event with key metrics
  • A direct link to the relevant dashboard page
  • Unsubscribe link in the footer
Note: Critical notifications (credits exhausted, scheduled maintenance) cannot be fully disabled. They are always sent to the account owner.

Webhook Notifications

For programmatic integrations, configure a webhook URL to receive event payloads via HTTP POST.

Setting up a webhook

  1. Go to Settings > Notifications > Webhooks.
  2. Enter your endpoint URL (must be HTTPS).
  3. Select the event types to subscribe to.
  4. Save and test the webhook with the Send Test button.

Webhook delivery

  • Nodium sends a POST request with a JSON body to your endpoint.
  • Your endpoint must respond with a 2xx status code within 10 seconds.
  • Failed deliveries are retried up to 5 times with exponential backoff (1m, 5m, 15m, 1h, 4h).
  • After 5 consecutive failures, the webhook is automatically disabled and an email is sent to the account owner.

Signature verification

Every webhook request includes an HMAC-SHA256 signature in the X-Nodium-Signature header. Verify this signature to ensure the request originated from Nodium.

javascript
const crypto = require("crypto");

function verifyWebhookSignature(payload, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

// In your webhook handler:
app.post("/webhook/nodium", (req, res) => {
  const signature = req.headers["x-nodium-signature"];
  const isValid = verifyWebhookSignature(
    JSON.stringify(req.body),
    signature,
    process.env.NODIUM_WEBHOOK_SECRET
  );

  if (!isValid) {
    return res.status(401).send("Invalid signature");
  }

  // Process the event
  console.log("Event:", req.body.event);
  res.status(200).send("OK");
});

Your webhook signing secret is displayed when you create the webhook endpoint in the dashboard.


Configuring Thresholds

Customize when notifications fire by adjusting thresholds in Settings > Notifications > Thresholds.

Credit warning threshold

Set the percentage of credits consumed that triggers a warning:

SettingValueDescription
credit_warning_percent80Alert when 80% of credits are used (default)
credit_warning_percent50Alert earlier at 50% usage
credit_warning_percent90Alert only when nearly exhausted

You can configure multiple thresholds. For example, receive a notification at 50%, 80%, and 95%.

Error rate threshold

Set the error rate percentage over a rolling 1-hour window:

SettingValueDescription
error_rate_percent5Alert when more than 5% of requests fail (default)
error_rate_percent1Alert on low error rates
error_rate_min_requests50Minimum requests in the window before alerting (avoids noise on low volume)

Notification Payload Format

All webhook notifications share a common envelope format:

json
{
  "event": "credit_warning",
  "timestamp": "2026-03-05T14:30:00Z",
  "organization_id": "org_abc123",
  "data": {
    "credits_used": 20000,
    "credits_remaining": 5000,
    "credits_total": 25000,
    "percent_used": 80,
    "period_end": "2026-03-31T23:59:59Z"
  }
}

Event-specific data fields

EventKey data Fields
credit_warningcredits_used, credits_remaining, credits_total, percent_used, period_end
credits_exhaustedcredits_used, credits_total, period_end, overage_enabled
error_rate_spikeerror_rate, threshold, total_requests, failed_requests, window_minutes, top_errors
ip_ranges_updatedeffective_date, added, removed, ip_ranges_url
maintenance_scheduledstart_time, end_time, description, affected_regions
api_key_expiringkey_id, key_name, expires_at

Slack Integration

Send notifications directly to a Slack channel using an incoming webhook URL.

Setup

  1. Create a Slack incoming webhook at api.slack.com/messaging/webhooks.
  2. Copy the webhook URL (e.g., https://hooks.slack.com/services/T00/B00/xxxxx).
  3. In the Nodium Dashboard, go to Settings > Notifications > Integrations.
  4. Select Slack, paste your webhook URL, and choose which events to forward.
  5. Click Test to send a sample notification to your channel.

Message format

Slack messages are formatted with rich blocks including:

  • Event type as a bold header
  • Key metrics in a structured layout
  • A direct link to the Nodium dashboard for the relevant section
  • Timestamp of the event
Tip: Create a dedicated #nodium-alerts channel in Slack and configure the webhook to post there. This keeps alert noise out of your team's main channels.

Managing Preferences

Dashboard

All notification settings are managed in Settings > Notifications in the Nodium Dashboard. From there you can:

  • Enable or disable each notification type
  • Add email recipients and webhook endpoints
  • Adjust thresholds for credit warnings and error rate alerts
  • Configure Slack integration
  • View notification delivery history and retry failed deliveries

Per-organization settings

If you belong to multiple organizations, notification preferences are scoped per organization. Switch between organizations using the organization selector in the dashboard header.

Notification frequency

To avoid alert fatigue, Nodium applies the following rate limits:

NotificationMaximum Frequency
Credit warningOnce per threshold per billing period
Credits exhaustedOnce per billing period
Error rate spikeOnce per hour
Daily summaryOnce per day (sent at 08:00 UTC)
IP range updatePer event (typically rare)

Next Steps