## TL;DR
E0000115 during activation means a server-side error, usually a half-provisioned state or a conflicting group rule. Check the user's status, clear the conflict, and retry the activation.

```text
"E0000115 unexpected exception" when activating Okta user
```

## Use this when
- Activating a user returns E0000115.
- The user is stuck in STAGED or PROVISIONED and will not move to ACTIVE.
- The failure is intermittent across users.

## Not for this skill when
- The error names a field. That is E0000001 validation, a different fix.
- The user activates but the email never arrives. That is a mail delivery problem.
- Activation works in the UI but fails via API. Compare the two payloads.

## Steps
1. GET the user and note the exact status: STAGED, PROVISIONED, ACTIVE, or something else. Verify: you know the starting state.
2. Search the System Log for events around the activation timestamp. Verify: you have the exception detail, not just the code.
3. If the user is STAGED with a pending email activation, resend using the lifecycle activate call with email sending enabled. Verify: the activation email path is attempted.
4. Review group rules that fire on activation and temporarily exclude the user from conflicting ones. Verify: no rule assigns a failing app during the retry.
5. Retry activation. Verify: status becomes ACTIVE. If it still throws, recreate the user and migrate any state.

## Variant phrasings
### Okta user activation error
The generic phrasing.
### "unexpected exception" activate
The message-first search.
### user stuck in STAGED
The state-first phrasing.

Compatibility: Okta Users lifecycle API, Classic and Okta Identity Engine.

## Why it happens
Activation runs group-rule evaluation, app assignments, and email dispatch as one logical transaction. A failure in any leg, such as a group rule assigning an app whose provisioning blows up, surfaces as the generic E0000115.

## Edge cases / pitfalls
- Group rules that assign apps with broken provisioning turn every activation into an exception.
- Duplicate login values across users can throw during the uniqueness check.
- Email domains blocked at the mail layer make activation look hung rather than failed.
- Retrying without clearing the conflicting rule just reproduces the exception.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_jLUnPR8OfNdaQ-14iFAhRw
