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 TypeLimitTime Window
Any240 requests60 seconds
Any800 requests1 hour

Reference: Microsoft Graph service-specific throttling limits

Microsoft 365 Reports API Limits

OperationLimit per App per TenantLimit per Tenant (All Apps)Time Window
Any request (CSV)14 requests40 requests10 minutes
Any request (JSON, beta)100 requestsn/a10 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:

  1. 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
    • Solution:
      • Use dedicated Office 365 credentials exclusively for OpsRamp monitoring. Avoid sharing them with other tools to prevent unnecessary API calls.
  2. 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.
  3. 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.

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.