Introduction
OpsRamp integrates with Microsoft Graph APIs to discover resources and monitor various metrics for Office 365 services. This document outlines the API usage patterns, rate limits, and troubleshooting guidelines.
API Endpoints Used
Microsoft Graph Service Communications API
Endpoint: /admin/serviceAnnouncement/healthOverviews
Purpose: Resource discovery and monitoring
Monitored Metrics:
- ServiceStatus
- IncidentCount
- ServiceOutageInHours
Microsoft Reports API
Endpoint: /reports
Purpose: Monitoring of additional metrics not covered by Service Communications API
Rate Limits and Restrictions
Microsoft Graph Service Communications API Limits
Request Type | Limit | Time Window |
---|---|---|
Any | 240 requests | 60 seconds |
Any | 800 requests | 1 hour |
Reference: Microsoft Graph service-specific throttling limits
Microsoft 365 Reports API Limits
Operation | Limit per App per Tenant | Limit per Tenant (All Apps) | Time Window |
---|---|---|---|
Any request (CSV) | 14 requests | 40 requests | 10 minutes |
Any request (JSON, beta) | 100 requests | n/a | 10 minutes |
Reference: Microsoft Graph service-specific throttling limits
Troubleshooting HTTP 429 Rate Limit Errors
An HTTP 429 error occurs when your Microsoft Graph API usage exceeds the limit of 800 requests per tenant per hour.
Follow these steps to diagnose and resolve the issue:
Verify Credential Usage
- What to Check:
- Are the same Office 365 credentials being used in multiple locations?
- Inside OpsRamp (for example, multiple integrations)
- In other tools, scripts, or applications
- Are the same Office 365 credentials being used in multiple locations?
- Solution:
- Use dedicated Office 365 credentials exclusively for OpsRamp monitoring. Avoid sharing them with other tools to prevent unnecessary API calls.
- What to Check:
Review Monitoring Frequency
- What to Check:
- Is the monitoring template running more frequently than every 10 minutes?
- Solution:
- Set the monitoring frequency to at least 10 minutes—preferably 15 or 30 minutes—to reduce API calls.
- What to Check:
Regenerate Credentials (If Necessary)
- When to Do This:
- If you have confirmed the above and are still receiving HTTP 429 errors.
- Steps:
- Delete the existing Office 365 secret key.
- Generate a new secret key.
- Reconfigure the OpsRamp integration with the new credentials.
- When to Do This:
Note
It can take up to 1 hour for Microsoft Graph API limits to reset after hitting the threshold.Why Rate Limits Occur
Each monitored resource uses 3 Microsoft Graph metrics:
ServiceStatus
IncidentCount
ServiceOutageInHours
API Endpoint Used:
/admin/serviceAnnouncement/healthOverviews
Example Calculation:
- Resources: 30
- Metrics per resource: 3
- Frequency: Every 10 minutes
Per 10 minutes:
- 30 resources × 3 metrics = 90 API requests
Per hour:
- 90 × 6 intervals = 540 API requests/hour
Since the Microsoft Graph API allows 800 requests/hour, additional calls from other tools or integrations can push you over the limit.
Tips to Avoid Hitting the Limit
- Increase Monitoring Interval: Change from every 10 minutes to 15 or 30 minutes.
- Monitor Only Critical Metrics: Disable unnecessary metrics and track only the most important ones.
- Use Dedicated Credentials: Prevent other tools from consuming the same quota.
By managing credentials, reducing frequency, and limiting metrics, you can avoid rate limit errors and ensure uninterrupted monitoring.