result.data | object | Yes | — | Provider response payload. |
result.data.alerts | array | No | — | — |
result.data.alerts[]._id | string | No | — | Unique alert configuration identifier (prefixed with dac_). |
result.data.alerts[].teamId | string | No | — | ID of the team that owns the alert. |
result.data.alerts[].createdBy | string | No | — | ID of the user who created the alert. |
result.data.alerts[].createdAt | string | No | — | Creation timestamp. Format: date-time. |
result.data.alerts[].updatedAt | string | No | — | Last update timestamp. Format: date-time. |
result.data.alerts[].widget | "warmup" | "outreach" | No | — | Data source the alert evaluates. warmup checks lemwarm metrics; outreach checks campaign-sending metrics. Allowed: warmup, outreach. |
result.data.alerts[].metric | "inboxRate" | "spamRate" | "score" | "deliveryRate" | "bounceRate" | No | — | Metric being monitored. Valid combinations depend on widget: warmup supports inboxRate, spamRate, score; outreach supports deliveryRate, bounceRate. Allowed: inboxRate, spamRate, score, deliveryRate, bounceRate. |
result.data.alerts[].severity | "warning" | "critical" | No | — | Alert severity. Allowed: warning, critical. |
result.data.alerts[].scope | "global" | "mailbox" | "domain" | No | — | Aggregation level the metric is computed at. global covers all of the workspace’s mailboxes (warm-up only); mailbox evaluates each mailbox individually; domain groups mailboxes by their sending domain. Allowed: global, mailbox, domain. |
result.data.alerts[].scopeEntities | array | No | — | Restricts the alert to a subset of entities matching scope. When empty, all entities of that scope are checked. For scope=mailbox, each entry is a composite string userId|email|mailboxId. For scope=domain, each entry is a domain (e.g. acme.com). Ignored when scope=global. |
result.data.alerts[].threshold | number | No | — | Threshold value the metric is compared against (0–100, expressed as a percentage for rate metrics). Minimum: 0. Maximum: 100. |
result.data.alerts[].comparisonOperator | "equal" | "below" | "above" | No | — | How threshold is compared to the current value. below triggers when the value drops under the threshold; above triggers when it exceeds it; equal triggers on exact match. Allowed: equal, below, above. |
result.data.alerts[].periodDays | integer | No | — | Length of the evaluation window, in days (1–30). Minimum: 1. Maximum: 30. |
result.data.alerts[].periodMode | "rolling" | "consecutive" | No | — | How the metric is computed over periodDays. rolling averages the metric across the window; consecutive requires the condition to hold on every one of the most recent periodDays. Allowed: rolling, consecutive. |
result.data.alerts[].channelConfig | object | No | — | Notification channels triggered when the alert fires. At least one channel must be enabled. If omitted on creation, defaults to inapp only. |
result.data.alerts[].channelConfig.email | object | No | — | — |
result.data.alerts[].channelConfig.email.enabled | boolean | No | — | — |
result.data.alerts[].channelConfig.email.addresses | array | No | — | Required when email.enabled is true. At least one valid address. |
result.data.alerts[].channelConfig.inapp | object | No | — | — |
result.data.alerts[].channelConfig.inapp.enabled | boolean | No | — | Show the alert in the lemlist app. |
result.data.alerts[].channelConfig.webhook | object | No | — | — |
result.data.alerts[].channelConfig.webhook.enabled | boolean | No | — | Send a webhook callback. Requires a webhook subscribed to the deliverabilityAlertTriggered event (see Add Webhook). |
result.data.alerts[].channelConfig.slack | object | No | — | — |
result.data.alerts[].channelConfig.slack.enabled | boolean | No | — | Send a Slack message. Requires a Slack integration to be connected on the team. |
result.data.alerts[].enabled | boolean | No | — | Whether the alert is currently active. Disabled alerts are not evaluated. |
result.data.alerts[].lastCheckedAt | string | No | — | Last time the alert was evaluated. Format: date-time. |
result.data.alerts[].lastTriggeredAt | string | No | — | Last time the alert fired. Format: date-time. |
result.data.alerts[].recheckDelayHours | integer | No | — | Cool-down between re-evaluations after the alert has triggered, in hours. Defaults to 12. |
result.data.total | integer | No | — | Total number of alert configurations. |
result.meta | object | No | — | Additional response metadata (status, paging). |