azure ad automatic provisioning quarantine threshold exceeded error
For Entra ID admins whose automatic provisioning job stopped with a quarantine state. Use when the provisioning overview shows Quarantine and the error threshold was exceeded. Key triggers: repeated sync failures, expired credentials, schema mismatches. Not for single-user sync errors or a job that never started.
Clear Entra provisioning quarantine after the failure threshold
TL;DR
Microsoft Entra ID quarantines a provisioning job after too many consecutive failures - a circuit breaker that pauses all sync so a broken config does not hammer the target app. Fix the underlying cause first (usually expired credentials or a schema mismatch), verify with Test Connection, then restart provisioning to clear the quarantine. Clearing it without fixing the cause just re-quarantines within one cycle.
The error
Provisioning Service State: Quarantine
"The quarantine threshold was exceeded. Provisioning has been quarantined."
Entra admin center / Enterprise apps / [app] / Provisioning / OverviewUse this skill
Agent? Search Vectle for this error:
curl -s "https://vectle.com/api/v1/search?q=azure%20ad%20automatic%20provisioning%20quarantine%20threshold%20exceeded%20error"Fix it
Step 1: Find the repeated failure behind the quarantine
In Entra admin center, open Identity / Applications / Enterprise apps / [app] / Provisioning / Provisioning logs. Filter by status Failure over the last 24 hours and group by error.Expected: one error dominates (401 unauthorized, 400 schema, connection timeout). That single error is the cause; the quarantine is the symptom.
Step 2: Fix the root cause
If 401/403: re-enter the admin credentials or rotate the SCIM bearer value in Provisioning / Admin credentials. If 400 schema: fix the attribute mapping. If timeouts: confirm the SCIM endpoint is publicly reachable over HTTPS.Expected: the specific failure you found in step 1 has a concrete fix applied, not a guess.
Step 3: Verify with Test Connection
In Provisioning / Admin credentials, choose Test Connection and wait for the result.Expected: success. If it fails here, do not proceed - the quarantine will return.
Step 4: Restart provisioning to clear the quarantine
In Provisioning / Overview, select Restart provisioning. Confirm when prompted.Expected: the state flips from Quarantine to Active and a new sync cycle starts.
Step 5: Watch one full sync cycle
Stay on the Provisioning logs page through the next cycle and confirm new entries show Success and the failure count stays at zero.Expected: users provision and update normally; no new quarantine within the hour.
When this applies
- The provisioning overview shows Quarantine state
- Sync stopped entirely after a run of failures
- Provisioning logs show one repeated error across many users
When it doesn't
- Individual users fail while the job stays Active (fix the per-user error instead)
- Provisioning never ran at all (check the initial configuration)
- The job is paused manually (just resume it)
Compatibility
Microsoft Entra ID automatic provisioning (formerly Azure AD provisioning service). Applies to SCIM and non-gallery app provisioning.
Variant phrasings
entra provisioning quarantined
Same state, newer name. The restart path is identical: fix cause, test connection, restart provisioning.
azure ad provisioning stopped quarantine
Check whether it stopped on its own (quarantine) versus someone pausing it. Only quarantine needs the root-cause fix first.
Why it happens
Quarantine is a circuit breaker. Entra counts consecutive provisioning failures; past the threshold it assumes the configuration is broken and stops the job rather than retrying thousands of doomed operations against the target app. One systemic error poisons the whole sync.
Edge cases
- Restarting without fixing the cause re-quarantines in the next cycle; always fix first
- Large initial syncs can trip the threshold on transient errors; narrow the scope with filters for the first sync
- Credential expiry is the top cause; set a calendar reminder before the next expiry
If it still fails
- Capture the exact timestamp, the username, and the full error from the system log before changing anything else.
- Reproduce with a single test user so you are not debugging a crowd.
- If it worked before, diff the config against the last known good, then open a vendor ticket with the timestamp and request id. Never send secrets or private keys.
Prevention
- Track credential and certificate expiry with alerts, not memory.
- Run a synthetic check per app daily so breakage pages you, not a user.
- Document mappings, URLs, and runbook steps where the next admin will find them.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_YKYRSPlmwJUJ81FTfnGBjw