limit_violations
Purpose
The limit_violations dataset records each time a configured limit is exceeded, capturing the limit’s name/type, evaluation mode (per-event vs. periodic window with duration), configured threshold and unit, the observed value at violation time, and optional contextual dimensions (e.g., team, connector, route). This enables teams to monitor throttling and policy breaches, pinpoint noisy or abusive workloads, validate routing and delivery protections, and right-size limits to balance reliability and cost.
Schema description
| Full JSON path | Field data type | Field data example | description |
|---|---|---|---|
limit_name | String | "notifications-per-minute" | Human-readable name of the enforced limit. |
limit_type | String | "rate_limit" | Implementation/type of limit (policy class). |
limit_interval_type | Enum | "periodic" | Evaluation mode: per_event or periodic. |
limit_interval_periodic_details | Object (when periodic) | { "duration_seconds": 60 } | Settings for periodic/windowed evaluation. |
limit_interval_periodic_details.duration_seconds | Number (integer, ≥1) | 60 | Window length in seconds. |
limit_threshold | Number (integer) | 100 | Configured threshold value. |
limit_threshold_unit | Enum | "count" | Unit of the threshold: count or chars. |
limit_event_type | String | "notification" | Event category the limit applies to. |
limit_value | Number (integer) | 137 | Observed value that triggered the violation. |
violation_context | Object / Null | { "teamId": 42, "connectorId": "slack-oncall", "route": "primary" } | Dimension map (string/integer values) or null. |
labs.limit_violations schema
limitViolationlimit_nametype: string
Human-readable name of the enforced limit. (required)
limit_typetype: string
Implementation/type of limit (e.g., internal code or policy class). (required)
limit_interval_typeEnum: per_event, periodic
How the limit is evaluated: per individual event or over a rolling/periodic window. (required)
limit_interval_periodic_detailstype: object
Additional settings when limit_interval_type = periodic.
duration_secondstype: number (integer, ≥ 1)
Length of the evaluation window in seconds. (required when periodic)
limit_thresholdtype: number (integer)
Configured threshold for the limit (e.g., max messages). (required)
limit_threshold_unitEnum: count, chars
Unit for the threshold (items vs. characters). (required)
limit_event_typetype: string
Event category the limit applies to (e.g., notification, render, api_call). (required)
limit_valuetype: number (integer)
Observed value that violated the limit (e.g., actual count/size). (required)
violation_contexttype: object | null
Key/value map with extra dimensions (e.g., teamId, connectorId, route). Values are strings or integers. (required; may be null)