Documentation navigation
Email Service Send Throttled
Azure Communication Services throttles cortiemailservices API requests with HTTP 429 once a rate limit is exceeded — 30 SendMail per minute or 100 per hour. This alert fires when any throttled response lands in the last 15 minutes: the quota warnings (02-email-service-minute-quota-high.md, 03-email-service-hourly-quota-high.md) are the early tiers, and this one means a limit was hit and requests are being rejected.
The alert reads azure_acs_sendmail_throttled_apirequests_count from the acs-email-sendmail-throttled probe: the exporter asks Azure for a single PT15M bucket over [now-15m, now] filtered to StatusCode eq '429', and Azure counts the throttled responses server-side — {{ $value }} is the real number, not a scrape-sample approximation. The series is absent while the window holds no 429s, so the alert resolves as soon as the last throttled response ages out. A single 429 pages with zero sustain (for: 0s, overriding the runbook_alerts module's for: 5m default), because email is being dropped at that moment. Both dev-par01 and prd-par01 exporters probe the same shared Azure resource; the max by (probe) collapses their views into one series (no cluster or environment matchers).
Two things to keep in mind when this fires. Azure Monitor data lands two to three minutes late, so a fresh 429 shows up in this gauge a few minutes after it happened. And 429s are not always caused by the two quotas above: on 2026-10-30 the only two throttled requests of the day arrived at a per-minute volume of one to two — far under both quotas — so a page here does not imply a quota warning fired first. Check which limit was actually hit before assuming a volume problem.
- Dashboard: Azure Communication Services Email Delivery — the API errors panel shows the 429 series by status code (the dimensioned
acs-email-apiseries, a different probe from this alert's). - Recovery is time-based: the per-minute limit clears at the minute boundary, the hourly limit as the window rolls. Slow or stop the sender; do not retry harder.