Getting started
Plans, usage, and quotas
See the published MonoDuty limits for users, teams, services, Monitors, Heartbeats, Webhooks, schedules, escalation policies, and notification channels.
One account catalog
Subscriptions and entitlements belong to the workspace, not to an individual team. The dashboard and API use the same versioned plan catalog shown below. Paused resources continue to count toward limits; deleting data is never an automatic downgrade action.
Resource limits
| Resource | Free | Pro | Business |
|---|---|---|---|
| Users | 1 | 25 | Unlimited |
| Account Admins | 0 | 3 | 10 |
| Teams | 1 | 10 | 50 |
| Services | 3 | 50 | 500 |
| Monitors | 5 | 50 | 250 |
| Heartbeats | 5 | 100 | 500 |
| Webhooks | 5 | 50 | Unlimited |
| On-call schedules | 1 | 10 | 50 |
| Custom escalation policies | 0 | 10 | 50 |
| Regions per Monitor | 1 | 1 | 1 |
| Minimum Monitor interval | 300s | 60s | 30s |
| Incident retention | 7 days | 30 days | 90 days |
Free includes one protected default escalation path. Its custom policy limit is zero because editing or adding custom policies is a paid entitlement.
Alert delivery safeguards
Incident allowances are usage thresholds, not a reason to discard an alert. MonoDuty still records the incident and uses the safe email fallback when a paid delivery allowance is exhausted. SMS and voice allowances are reserved atomically before sending, consumed after a provider accepts the attempt, and released after a definitive provider failure.
Quota responses
When creating or activating a resource would exceed a hard resource limit, the API returns HTTP 409 with the stable code quota_exceeded. The response includes the resource, current usage, limit, and upgrade URL. A downgrade never silently deletes data; excess resources remain visible while new creation or activation is blocked.