Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt

Use this file to discover all available pages before exploring further.

Retrieve alerts that have been triggered. Use this to build dashboards, integrate with ticketing systems, or create custom notification workflows.

When to Use

  • Dashboard integration: Show recent alerts in monitoring tools
  • Ticketing sync: Create tickets for triggered alerts
  • Reporting: Generate alert volume and response metrics
  • Custom workflows: Build automated response systems

SDK & CLI Examples

from anomalyarmor import Client

client = Client(api_key="aa_live_xxx")

# Get recent unacknowledged alerts
alerts = client.alerts.list(status="triggered", limit=20)

for alert in alerts:
    print(f"{alert.rule_name}: {alert.message}")
    print(f"  Asset: {alert.asset}")
    print(f"  Triggered: {alert.triggered_at}")

# Filter by alert type
schema_alerts = client.alerts.list(event_type="schema_change")

# Filter by date range
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
alerts = client.alerts.list(since=yesterday)

Parameters

ParameterTypeDescription
statusstringFilter by status: triggered, acknowledged, resolved
event_typestringFilter by type: schema_change, freshness_violation, discovery_failed
assetstringFilter by asset qualified name
sincedatetimeOnly alerts after this timestamp
untildatetimeOnly alerts before this timestamp
limitintegerMax results (default: 100, max: 1000)
offsetintegerSkip first N results

Response

{
  "alerts": [
    {
      "id": "alt_abc123",
      "rule_name": "Production Schema Changes",
      "event_type": "schema_change",
      "status": "triggered",
      "message": "Column 'status' removed from orders table",
      "asset": "snowflake.prod.public.orders",
      "details": {
        "change_type": "column_removed",
        "column_name": "status",
        "column_type": "varchar(20)"
      },
      "triggered_at": "2024-01-15T08:30:00Z",
      "acknowledged_at": null,
      "resolved_at": null,
      "destinations": ["slack", "pagerduty"]
    }
  ],
  "total": 45,
  "limit": 100,
  "offset": 0
}

Response Fields

FieldDescription
idUnique alert identifier
rule_nameName of the rule that triggered
event_typeType of event that triggered the alert
statustriggered, acknowledged, or resolved
messageHuman-readable alert description
assetAffected asset qualified name
detailsEvent-specific details (varies by type)
triggered_atWhen the alert fired
acknowledged_atWhen someone acknowledged it (if applicable)
resolved_atWhen the alert was resolved (if applicable)
destinationsWhere the alert was sent

Status Values

StatusMeaning
triggeredAlert fired, not yet acknowledged
acknowledgedSomeone is looking at it
resolvedIssue has been addressed

Event Types

TypeDescription
schema_changeTable or column structure changed
freshness_violationData older than SLA threshold
discovery_failedDiscovery job couldn’t complete
asset_removedTable or view no longer exists

Error Responses

StatusMeaning
401Invalid or missing API key
400Invalid filter parameters
429Rate limit exceeded