X-Rate-Limit-Remaining
Response header Okta returns on every API response showing how many requests are left in the current rate-limit window for that endpoint category, alongside X-Rate-Limit-Limit (the ceiling) and X-Rate-Limit-Reset (UTC epoch time the window resets), the fastest way to confirm which specific call is close to its cap before it starts failing logins
75 simultaneous transactions
Default concurrency limit for both Microsoft 365 traffic and all other traffic in Okta Workforce and Customer Identity orgs; concurrency limits cap requests actually processing at the same moment, not requests over a time window, so a single integration holding connections open can trip this even while per-minute rate limits still show headroom
60 requests per minute
Default client-based rate limit Okta documents per client (a distinct API token or OAuth 2.0 app) for certain endpoint categories, separate from the org-wide limit; a single misbehaving integration can exhaust its own client-based ceiling well before the org-wide limit is anywhere close to being hit
25 event hooks
Maximum number of active, verified event hooks allowed per Okta org, with each hook able to subscribe to up to 300 eligible event types; the relevant ceiling to know when the fix for a polling integration is migrating it to event-driven delivery instead

Reach 50,000+ security professionals

Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.

Summarize with:

The report usually starts vague: a handful of users say login "sometimes just fails" or shows an error about too many requests, it's not everyone, it's not constant, and it clears up if they try again in a minute. That inconsistency is itself a clue. A genuine authentication outage fails for everyone at once; a rate limit problem fails intermittently, for whoever's login request happens to land during a window when something else has already consumed the available capacity.

Okta's rate limits exist to protect the platform's stability, and they are shared: a login request and an unrelated API call from a third-party integration draw from overlapping budgets depending on the endpoint category and scope involved. That means the fix for users getting rate-limited mid-login is almost never a change to how users log in. It's finding whatever else is consuming that shared capacity, and fixing that instead, carefully enough not to break the actual SSO flow you can't afford to touch.

Causes: what actually consumes the rate limit budget users need

A rate limit problem during login has a real cause somewhere else in the org's Okta usage. These are the patterns that show up most often, roughly in order of frequency.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Diagnostics: finding which client is actually consuming the budget

Okta gives you two main tools for this: the rate limit dashboard for a fast visual read, and the System Log for a precise, filterable record of exactly which request tripped which limit.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Fixes: resolving the consumption without breaking SSO

Once the offending integration or job is identified, the fix should target its actual behavior rather than simply asking Okta for more headroom, which just delays the same problem if the underlying behavior doesn't change.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Validation: confirming the rate limiting has actually stopped

Confirm the fix worked with the same tools used to diagnose it, not just by asking affected users whether they can log in again once.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Failure cases: when the same integration keeps re-triggering the problem

A naive fix sometimes suppresses the symptom without addressing the actual behavior driving it, and the problem resurfaces on a delay.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Escalation criteria: attack response versus an Okta support case

Most rate limit incidents are configuration problems a team can resolve on its own. Two situations call for escalating beyond routine troubleshooting.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

The bottom line

Users getting rate-limited mid-login against Okta is almost never a sign that Okta's authentication capacity is undersized. It's a sign that something else, usually a misconfigured integration, a polling script that should be an event hook, or an aggressive SCIM sync, is consuming a rate limit budget that legitimate logins also draw from. Diagnose with the rate limit dashboard for a fast ranked view of top consumers, then the System Log filtered to rate limit violation events for the specific requestUri and actor behind each one, and read X-Rate-Limit-Limit, X-Rate-Limit-Remaining, and X-Rate-Limit-Reset on the calls themselves to see how close a specific integration is running to its ceiling. Fix the actual behavior, backoff, split tokens, event hooks instead of polling, tuned sync intervals, rather than requesting a blanket rate limit increase as a first move, and validate with the same System Log query over a trailing window rather than a single successful login. Watch for a fix that suppresses the symptom without addressing the underlying call volume, and escalate immediately, as a security incident rather than a configuration issue, if the pattern looks like credential stuffing or account takeover instead of a bad integration. Reviewing System Log activity for exactly this kind of anomaly is also the subject of the Okta System Log security monitoring guide, which is worth having in place before the next rate limit incident, not just during one. Organizations running PingFederate alongside Okta as a secondary identity provider will also want to review the PingFederate SSO 404 and first-attempt authentication failure guide, since SameSite cookie misconfiguration and cluster session affinity failures produce similar first-attempt-only failure patterns across both platforms.

Frequently asked questions

Why are my users getting rate-limited during Okta login?

Users hitting a rate limit mid-login almost never means Okta's own authentication capacity is undersized. It almost always means something else, a looping or misconfigured third-party integration, an aggressive SCIM provisioning sync, a script polling an endpoint on a tight interval instead of using an event hook, is consuming a shared org-wide or per-endpoint rate limit budget that legitimate login traffic also draws from. In a smaller number of cases, a credential-stuffing or brute-force attempt generating a high volume of authentication attempts trips an org-wide limit and produces the same symptom for real users caught in the same window.

What is the difference between Okta's org-wide, per-endpoint, and concurrent rate limits?

Org-wide and per-endpoint rate limits both measure request volume over a fixed time window, typically a minute, but apply at different scopes: an org-wide limit caps total traffic across the entire org for a category of endpoint, while a per-endpoint or client-based limit caps a specific API token or OAuth app's own usage of specific endpoints. Concurrency limits are different in kind rather than degree: they cap how many requests can be actively processing at the same instant, not how many happen over a window, so an integration that opens many long-running connections can trip a concurrency limit while comfortably staying under every per-minute rate limit that also applies to it.

How do I find which integration is consuming my org's Okta API rate limit?

Start with the rate limit dashboard in the Okta Admin Console under Reports, which shows the top API tokens, OAuth 2.0 apps, or IP addresses consuming the most traffic for a given API category over a selected time period. Cross-reference that with a System Log query filtered to rate limit event types, which record the specific requestUri and actor tied to each violation, to confirm which integration's calls are actually triggering 429 responses rather than just running close to the ceiling without tripping it.

What do Okta's X-Rate-Limit response headers actually tell me?

Every Okta API response includes X-Rate-Limit-Limit (the ceiling that applies to that specific request), X-Rate-Limit-Remaining (how many requests are left in the current window), and X-Rate-Limit-Reset (the UTC epoch timestamp when the window resets). Watching X-Rate-Limit-Remaining trend toward zero on a specific integration's calls, before Okta ever returns a 429, is the earliest warning that integration is about to start failing, and correlating the endpoint in the response against the integration making that call is usually enough to identify the offender without waiting for actual failures to start.

How do I fix a rate limit problem without breaking legitimate SSO logins?

Fix the offending integration directly rather than requesting a blanket rate limit increase as a first move, since a higher ceiling just delays the same problem if the integration's behavior (tight polling, no backoff, a provisioning loop) doesn't change. Concrete fixes include adding exponential backoff to the integration's retry logic, splitting API tokens so the offending integration has its own token and rate limit budget separate from the token used for critical SSO or admin flows, and migrating any integration that polls an endpoint on a schedule to Okta's event hooks instead, which push events only when they actually occur rather than consuming API budget on every poll regardless of whether anything changed.

How do I know if rate limiting is actually a credential-stuffing attack and not a bad integration?

Check the System Log for the pattern behind the rate limit violations: a single, identifiable API token or OAuth app hitting one or a small number of endpoints repeatedly points at a misconfigured integration, while a spike in authentication attempts (not admin API calls) spread across many distinct usernames, many of them invalid or locked out, and often originating from a wide or unusual spread of source IPs, points at credential stuffing or a brute-force attempt. The second pattern is a security incident that needs an incident response process, including checking for any accounts that were actually compromised, not just a rate limit or integration fix.

Sources & references

  1. Okta Developer - Rate limits
  2. Okta Developer - Monitoring and troubleshooting rate limits
  3. Okta Developer - Concurrency limits
  4. Okta Developer - Client-based rate limits
  5. Okta Developer - Event hooks concepts
  6. Okta Developer - System Log query
Summarize with:

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Follow Decryption Digest

Daily briefings + Google Top Stories in one step.

Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Free. Unsubscribe anytime. Google popup confirms the Top Stories add.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.