appwrite/appwrite · error · Appwrite\Extend\Exception
user_email_not_corporate
user_email_not_corporate
Error message
Only corporate email addresses are allowed. Please use a work email address and try again.
What it means
Error "Only corporate email addresses are allowed. Please use a work email address and try again." thrown in appwrite/appwrite.
Source
Thrown at app/controllers/api/account.php:403
];
} catch (\Throwable) {
throw new Exception(Exception::GENERAL_INVALID_EMAIL);
}
if ((($project->getId() === 'console') || ($plan['supportsDisposableEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['disposableEmails'] ?? false) && $emailMetadata['emailIsDisposable']) {
throw new Exception(Exception::USER_EMAIL_DISPOSABLE);
}
if ((($project->getId() === 'console') || ($plan['supportsCanonicalEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['canonicalEmails'] ?? false) && $emailMetadata['emailIsCanonical'] === false) {
throw new Exception(Exception::USER_EMAIL_NOT_CANONICAL);
}
if ((($project->getId() === 'console') || ($plan['supportsFreeEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['freeEmails'] ?? false) && $emailMetadata['emailIsFree']) {
throw new Exception(Exception::USER_EMAIL_FREE);
}
if ((($project->getId() === 'console') || ($plan['supportsCorporateEmailValidation'] ?? false)) && ($project->getAttribute('auths', [])['corporateEmails'] ?? false) && !$emailMetadata['emailIsCorporate']) {
throw new Exception(Exception::USER_EMAIL_NOT_CORPORATE);
}
try {
$userId = $userId == 'unique()' ? ID::unique() : $userId;
$user->setAttributes([
'$id' => $userId,
'$permissions' => [
Permission::read(Role::any()),
Permission::update(Role::user($userId)),
Permission::delete(Role::user($userId)),
],
'email' => $email,
'emailVerification' => false,
'status' => true,
'password' => $hash,
'passwordHistory' => $passwordHistory > 0 ? [$hash] : [],
'passwordUpdate' => DateTime::now(),
'hash' => $proof->getHash()->getName(),View on GitHub (pinned to cd368e707d)
When it happens
Trigger: Thrown at app/controllers/api/account.php:403 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of appwrite/appwrite@cd368e707d (2026-08-12).
Data as JSON: /api/errors/0a000955e5b01838.
Report an issue: GitHub.