Skip to content
Esc
navigateopen⌘Jpreview
Dashboard
On this page

supertokens-node/recipe/emailpassword/types

References documentation for the supertokens-node/recipe/emailpassword/types package

Type Aliases

APIInterface

type APIInterface = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
emailExistsGET | undefined | (input) => Promise< | { exists: boolean; status: "OK"; } | GeneralErrorResponse> recipe/emailpassword/types.ts
generatePasswordResetTokenPOST | undefined | (input) => Promise< | { status: "OK"; } | { reason: string; status: "PASSWORD_RESET_NOT_ALLOWED"; } | GeneralErrorResponse> recipe/emailpassword/types.ts
passwordResetPOST | undefined | (input) => Promise< | { email: string; status: "OK"; user: User; } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR"; } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR"; } | GeneralErrorResponse> recipe/emailpassword/types.ts
signInPOST | undefined | (input) => Promise< | { session: SessionContainerInterface; status: "OK"; user: User; } | { reason: string; status: "SIGN_IN_NOT_ALLOWED"; } | { status: "WRONG_CREDENTIALS_ERROR"; } | GeneralErrorResponse> recipe/emailpassword/types.ts
signUpPOST | undefined | (input) => Promise< | { session: SessionContainerInterface; status: "OK"; user: User; } | { reason: string; status: "SIGN_UP_NOT_ALLOWED"; } | { status: "EMAIL_ALREADY_EXISTS_ERROR"; } | GeneralErrorResponse> recipe/emailpassword/types.ts

APIOptions

type APIOptions = object;

Defined in: recipe/emailpassword/types.ts

Properties


NormalisedFormField

type NormalisedFormField = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
id string recipe/emailpassword/types.ts
optional boolean recipe/emailpassword/types.ts
validate (value, tenantId, userContext) => Promise<string | undefined> recipe/emailpassword/types.ts

RecipeInterface

type RecipeInterface = object;

Defined in: recipe/emailpassword/types.ts

Methods

consumePasswordResetToken()
consumePasswordResetToken(input): Promise<
  | {
  email: string;
  status: "OK";
  userId: string;
}
  | {
  status: "RESET_PASSWORD_INVALID_TOKEN_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { tenantId: string; token: string; userContext: UserContext; }
input.tenantId string
input.token string
input.userContext UserContext
Returns

Promise< | { email: string; status: "OK"; userId: string; } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR"; }>

createNewRecipeUser()
createNewRecipeUser(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "EMAIL_ALREADY_EXISTS_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { email: string; password: string; tenantId: string; userContext: UserContext; }
input.email string
input.password string
input.tenantId string
input.userContext UserContext
Returns

Promise< | { recipeUserId: RecipeUserId; status: "OK"; user: User; } | { status: "EMAIL_ALREADY_EXISTS_ERROR"; }>

createResetPasswordToken()
createResetPasswordToken(input): Promise<
  | {
  status: "OK";
  token: string;
}
  | {
  status: "UNKNOWN_USER_ID_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts

We pass in the email as well to this function cause the input userId may not be associated with an emailpassword account. In this case, we need to know which email to use to create an emailpassword account later on.

Parameters
Parameter Type
input { email: string; tenantId: string; userContext: UserContext; userId: string; }
input.email string
input.tenantId string
input.userContext UserContext
input.userId string
Returns

Promise< | { status: "OK"; token: string; } | { status: "UNKNOWN_USER_ID_ERROR"; }>

signIn()
signIn(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "WRONG_CREDENTIALS_ERROR";
}
  | {
  reason:   | "EMAIL_VERIFICATION_REQUIRED"
     | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
     | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
     | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
  status: "LINKING_TO_SESSION_USER_FAILED";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { email: string; password: string; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; userContext: UserContext; }
input.email string
input.password string
input.session SessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUser boolean | undefined
input.tenantId string
input.userContext UserContext
Returns

Promise< | { recipeUserId: RecipeUserId; status: "OK"; user: User; } | { status: "WRONG_CREDENTIALS_ERROR"; } | { reason: | "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED"; }>

signUp()
signUp(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "EMAIL_ALREADY_EXISTS_ERROR";
}
  | {
  reason:   | "EMAIL_VERIFICATION_REQUIRED"
     | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
     | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
     | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
  status: "LINKING_TO_SESSION_USER_FAILED";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { email: string; password: string; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; userContext: UserContext; }
input.email string
input.password string
input.session SessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUser boolean | undefined
input.tenantId string
input.userContext UserContext
Returns

Promise< | { recipeUserId: RecipeUserId; status: "OK"; user: User; } | { status: "EMAIL_ALREADY_EXISTS_ERROR"; } | { reason: | "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED"; }>

updateEmailOrPassword()
updateEmailOrPassword(input): Promise<
  | {
  status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR";
}
  | {
  reason: string;
  status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR";
}
  | {
  failureReason: string;
  status: "PASSWORD_POLICY_VIOLATED_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy: string; userContext: UserContext; }
input.applyPasswordPolicy? boolean
input.email? string
input.password? string
input.recipeUserId RecipeUserId
input.tenantIdForPasswordPolicy string
input.userContext UserContext
Returns

Promise< | { status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR"; } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR"; } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR"; }>

verifyCredentials()
verifyCredentials(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "WRONG_CREDENTIALS_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts

Parameters
Parameter Type
input { email: string; password: string; tenantId: string; userContext: UserContext; }
input.email string
input.password string
input.tenantId string
input.userContext UserContext
Returns

Promise< | { recipeUserId: RecipeUserId; status: "OK"; user: User; } | { status: "WRONG_CREDENTIALS_ERROR"; }>


TypeEmailPasswordEmailDeliveryInput

type TypeEmailPasswordEmailDeliveryInput = TypeEmailPasswordPasswordResetEmailDeliveryInput;

Defined in: recipe/emailpassword/types.ts


TypeEmailPasswordPasswordResetEmailDeliveryInput

type TypeEmailPasswordPasswordResetEmailDeliveryInput = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
passwordResetLink string recipe/emailpassword/types.ts
tenantId string recipe/emailpassword/types.ts
type "PASSWORD_RESET" recipe/emailpassword/types.ts
user object recipe/emailpassword/types.ts
user.email string recipe/emailpassword/types.ts
user.id string recipe/emailpassword/types.ts
user.recipeUserId RecipeUserId | undefined recipe/emailpassword/types.ts

TypeFormField

type TypeFormField = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
id string recipe/emailpassword/types.ts
value any recipe/emailpassword/types.ts

TypeInput

type TypeInput = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
emailDelivery? EmailDeliveryTypeInput<TypeEmailPasswordEmailDeliveryInput> recipe/emailpassword/types.ts
override? object recipe/emailpassword/types.ts
override.apis? (originalImplementation, builder) => APIInterface recipe/emailpassword/types.ts
override.functions? (originalImplementation, builder) => RecipeInterface recipe/emailpassword/types.ts
signUpFeature? TypeInputSignUp recipe/emailpassword/types.ts

TypeInputFormField

type TypeInputFormField = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
id string recipe/emailpassword/types.ts
optional? boolean recipe/emailpassword/types.ts
validate? (value, tenantId, userContext) => Promise<string | undefined> recipe/emailpassword/types.ts

TypeInputSignUp

type TypeInputSignUp = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
formFields? TypeInputFormField[] recipe/emailpassword/types.ts

TypeNormalisedInput

type TypeNormalisedInput = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
getEmailDeliveryConfig (isInServerlessEnv) => EmailDeliveryTypeInputWithService<TypeEmailPasswordEmailDeliveryInput> recipe/emailpassword/types.ts
override object recipe/emailpassword/types.ts
override.apis (originalImplementation, builder) => APIInterface recipe/emailpassword/types.ts
override.functions (originalImplementation, builder) => RecipeInterface recipe/emailpassword/types.ts
resetPasswordUsingTokenFeature TypeNormalisedInputResetPasswordUsingTokenFeature recipe/emailpassword/types.ts
signInFeature TypeNormalisedInputSignIn recipe/emailpassword/types.ts
signUpFeature TypeNormalisedInputSignUp recipe/emailpassword/types.ts

TypeNormalisedInputResetPasswordUsingTokenFeature

type TypeNormalisedInputResetPasswordUsingTokenFeature = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
formFieldsForGenerateTokenForm NormalisedFormField[] recipe/emailpassword/types.ts
formFieldsForPasswordResetForm NormalisedFormField[] recipe/emailpassword/types.ts

TypeNormalisedInputSignIn

type TypeNormalisedInputSignIn = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
formFields NormalisedFormField[] recipe/emailpassword/types.ts

TypeNormalisedInputSignUp

type TypeNormalisedInputSignUp = object;

Defined in: recipe/emailpassword/types.ts

Properties

Property Type Defined in
formFields NormalisedFormField[] recipe/emailpassword/types.ts

API reference

API schema and response details