specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Microsoft Copilot providerId: microsoft-copilot created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Agents - AI Assistant - Artificial Intelligence - Chatbot - Copilot - Extensibility - Generative AI - Rate Limiting description: Microsoft Copilot rate limits depend on the surface. Microsoft 365 Copilot has per-user fair-use throttling (not publicly published as per-second numbers; soft limits in the high tens of requests per minute per user). Copilot APIs accessed through Microsoft Graph apply Microsoft Graph throttling (per-app, per-tenant, and per-user). Copilot Studio applies per-message metering (counts toward the purchased message pack). GitHub Copilot has per-user request quotas and Copilot Chat conversation pacing. All surfaces use HTTP 429 with Retry-After. sources: - https://learn.microsoft.com/en-us/graph/throttling - https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management - https://learn.microsoft.com/en-us/microsoft-365-copilot/microsoft-365-copilot-licensing headers: retryAfter: Retry-After rateLimitLimit: RateLimit-Limit rateLimitRemaining: RateLimit-Remaining rateLimitReset: RateLimit-Reset requestId: request-id clientRequestId: client-request-id responseCodes: throttled: 429 serviceUnavailable: 503 limits: - name: Microsoft Graph — per-app per-tenant scope: app/tenant metric: requests_per_10s limit: 130000 timeFrame: second notes: 130,000 requests per 10 seconds per app per tenant for general Graph endpoints. Many service-specific limits override (Outlook, OneDrive, etc.). - name: Microsoft Graph — per-user scope: user metric: requests_per_10s limit: 10000 timeFrame: second notes: 10,000 requests per 10 seconds per user across all apps. Soft limit subject to change. - name: Microsoft 365 Copilot — fair-use per user scope: user metric: requests_per_minute limit: see vendor docs (soft fair-use) notes: Per-user fair-use throttling on Copilot prompts; not publicly documented as per-second numbers. Excessive prompting yields 429 with Retry-After. - name: Copilot Studio — message metering scope: tenant metric: messages_per_month limit: 25000 timeFrame: month notes: Standard message pack is 25,000 messages/month. Excess billed PAYG at $0.01/message. Generative messages count as 2; classifier as 1. - name: GitHub Copilot — chat requests scope: user metric: requests_per_minute limit: see vendor docs notes: Per-user throttling on Copilot Chat; specific numbers not published. Code completion uses streaming and is tuned per-IDE. policies: - name: Honor Retry-After description: All Copilot surfaces return 429 with Retry-After. Implement exponential backoff with jitter; SDKs auto-retry. - name: Microsoft Graph backoff description: Microsoft Graph documents service-specific throttling and recommends batching via /v1.0/$batch (max 20 per batch) plus delta queries for large reads. - name: Per-message accounting description: Copilot Studio monthly message packs are not pooled across tenants. Unused messages don't roll over. Excess goes to PAYG. - name: Tenant fair-use description: Sustained extreme load on Microsoft 365 Copilot can trigger tenant-level throttling and slowdown across users. Rare but documented. - name: Customer-managed key impact description: Tenants using Customer Lockbox / CMK may see slightly lower throughput due to additional cryptographic operations. maintainers: - FN: Kin Lane email: kin@apievangelist.com url: https://www.microsoft.com/microsoft-365-copilot