Psychometric profile not found
This issue occurs when your system expects a psychometric profile to exist,
but SotsAI cannot resolve it for the specified user.
Unlike “no profile available”, this usually indicates a data or flow mismatch.
What this means
Section titled “What this means”Your system attempted to fetch or use a psychometric profile, but SotsAI returned:
PSY_PROFILE_NOT_FOUND, orPROFILE_NOT_FOUND, or- a downstream failure caused by missing profile data
This means no DISC profile exists for that user in the context of your organization.
Typical symptoms
Section titled “Typical symptoms”You may see:
/v1/disc/profilereturnsPSY_PROFILE_NOT_FOUND/v1/advicefails because a profile is missing- a user was “invited” but no profile is returned
- repeated failed retries with the same user email
Common causes
Section titled “Common causes”1) The user was never invited
Section titled “1) The user was never invited”The most frequent cause.
- no DISC invitation was sent
- the invitation step was skipped in onboarding
- invitations were assumed to be automatic (they are not)
Remember:
DISC profiles are only created after a completed assessment.
2) The user was invited but did not complete the assessment
Section titled “2) The user was invited but did not complete the assessment”In this case:
- the invitation exists
- no profile exists yet
- fetching the profile will fail
This is expected behavior.
3) The email does not match exactly
Section titled “3) The email does not match exactly”DISC profiles are resolved using a deterministic, one-way identifier derived from:
- organization ID
- email address
If the email differs, the profile will not resolve.
Common mismatches:
- alias vs canonical email
- casing differences
- external vs internal address
- changed email after invitation
4) Wrong organization context
Section titled “4) Wrong organization context”Profiles are scoped to an organization.
If:
- the same email exists in multiple organizations
- you call the API with the wrong organization API key
The profile will not be found.
5) Invitation expired or invalid
Section titled “5) Invitation expired or invalid”Less common, but possible.
Examples:
- invitation link expired
- invitation already used
- tool mismatch (DISC vs another assessment)
How to fix it
Section titled “How to fix it”Choose the correct path based on user state.
Case 1: User was never invited
Section titled “Case 1: User was never invited”✅ Solution
- Send a DISC invitation
- Wait for completion
- Fetch profile again
Recommended when:
- psychometrics are core to the feature
- personalization is mandatory
Case 2: User was invited but has not completed
Section titled “Case 2: User was invited but has not completed”✅ Solution
- Detect “pending” state in your system
- Inform the user
- Degrade gracefully in the meantime
Do not:
- retry fetching aggressively
- treat this as an error condition
Case 3: Email mismatch
Section titled “Case 3: Email mismatch”✅ Solution
- Normalize email handling
- Decide on a canonical identifier
- Be consistent across:
- invitations
- fetch calls
- caching
Case 4: Wrong organization or key
Section titled “Case 4: Wrong organization or key”✅ Solution
- Verify the API key used
- Confirm the organization context
- Check environment separation (dev / staging / prod)
Recommended orchestration pattern
Section titled “Recommended orchestration pattern”Attempt to fetch profile↓IF profile exists: proceed with behavioral reasoningELSE: decide explicitly: - invite user - wait for completion - skip SotsAIThis decision should be explicit and intentional, not implicit.
What NOT to do
Section titled “What NOT to do”Avoid these anti-patterns:
- ❌ retrying indefinitely
- ❌ falling back silently without tracking
- ❌ inventing or simulating profiles
- ❌ assuming invitations imply completion
Debugging checklist
Section titled “Debugging checklist”When a profile is “not found”, verify:
- was an invitation sent?
- was the assessment completed?
- does the email match exactly?
- is the correct organization API key used?
- is the environment correct (dev vs prod)?
If any answer is “no”, the profile cannot exist yet.