---
title: supertokens-node/recipe/emailpassword/types
description: References documentation for the supertokens-node/recipe/emailpassword/types package
sidebar:
  order: 40
---

## Type Aliases

### APIInterface

```ts check=false reason="Generated API signature"
type APIInterface = object;
```

Defined in: [recipe/emailpassword/types.ts:208](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L208)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="emailexistsget"></a> `emailExistsGET` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `exists`: `boolean`; `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/emailpassword/types.ts:209](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L209) |
| <a id="generatepasswordresettokenpost"></a> `generatePasswordResetTokenPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `status`: `"OK"`; \} \| \{ `reason`: `string`; `status`: `"PASSWORD_RESET_NOT_ALLOWED"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/emailpassword/types.ts:219](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L219) |
| <a id="passwordresetpost"></a> `passwordResetPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `email`: `string`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| \{ `status`: `"RESET_PASSWORD_INVALID_TOKEN_ERROR"`; \} \| \{ `failureReason`: `string`; `status`: `"PASSWORD_POLICY_VIOLATED_ERROR"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/emailpassword/types.ts:240](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L240) |
| <a id="signinpost"></a> `signInPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `session`: `SessionContainerInterface`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| \{ `reason`: `string`; `status`: `"SIGN_IN_NOT_ALLOWED"`; \} \| \{ `status`: `"WRONG_CREDENTIALS_ERROR"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/emailpassword/types.ts:264](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L264) |
| <a id="signuppost"></a> `signUpPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `session`: `SessionContainerInterface`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| \{ `reason`: `string`; `status`: `"SIGN_UP_NOT_ALLOWED"`; \} \| \{ `status`: `"EMAIL_ALREADY_EXISTS_ERROR"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/emailpassword/types.ts:292](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L292) |

***

### APIOptions

```ts check=false reason="Generated API signature"
type APIOptions = object;
```

Defined in: [recipe/emailpassword/types.ts:197](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L197)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="appinfo"></a> `appInfo` | [`NormalisedAppinfo`](types#normalisedappinfo) | [recipe/emailpassword/types.ts:199](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L199) |
| <a id="config"></a> `config` | [`TypeNormalisedInput`](#typenormalisedinput) | [recipe/emailpassword/types.ts:200](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L200) |
| <a id="emaildelivery"></a> `emailDelivery` | `EmailDeliveryIngredient`\<[`TypeEmailPasswordEmailDeliveryInput`](#typeemailpasswordemaildeliveryinput)\> | [recipe/emailpassword/types.ts:205](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L205) |
| <a id="isinserverlessenv"></a> `isInServerlessEnv` | `boolean` | [recipe/emailpassword/types.ts:202](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L202) |
| <a id="recipeid"></a> `recipeId` | `string` | [recipe/emailpassword/types.ts:201](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L201) |
| <a id="recipeimplementation"></a> `recipeImplementation` | [`RecipeInterface`](#recipeinterface) | [recipe/emailpassword/types.ts:198](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L198) |
| <a id="req"></a> `req` | `BaseRequest` | [recipe/emailpassword/types.ts:203](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L203) |
| <a id="res"></a> `res` | `BaseResponse` | [recipe/emailpassword/types.ts:204](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L204) |

***

### NormalisedFormField

```ts check=false reason="Generated API signature"
type NormalisedFormField = object;
```

Defined in: [recipe/emailpassword/types.ts:55](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L55)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="id"></a> `id` | `string` | [recipe/emailpassword/types.ts:56](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L56) |
| <a id="optional"></a> `optional` | `boolean` | [recipe/emailpassword/types.ts:58](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L58) |
| <a id="validate"></a> `validate` | (`value`, `tenantId`, `userContext`) => `Promise`\<`string` \| `undefined`\> | [recipe/emailpassword/types.ts:57](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L57) |

***

### RecipeInterface

```ts check=false reason="Generated API signature"
type RecipeInterface = object;
```

Defined in: [recipe/emailpassword/types.ts:86](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L86)

#### Methods

##### consumePasswordResetToken()

```ts check=false reason="Generated API signature"
consumePasswordResetToken(input): Promise<
  | {
  email: string;
  status: "OK";
  userId: string;
}
  | {
  status: "RESET_PASSWORD_INVALID_TOKEN_ERROR";
}>;
```

Defined in: [recipe/emailpassword/types.ts:167](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L167)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `tenantId`: `string`; `token`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.tenantId` | `string` |
| `input.token` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |

###### Returns

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

##### createNewRecipeUser()

```ts check=false reason="Generated API signature"
createNewRecipeUser(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "EMAIL_ALREADY_EXISTS_ERROR";
}>;
```

Defined in: [recipe/emailpassword/types.ts:114](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L114)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `password`: `string`; `tenantId`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.email` | `string` |
| `input.password` | `string` |
| `input.tenantId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |

###### Returns

`Promise`\<
  \| \{
  `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1);
  `status`: `"OK"`;
  `user`: [`User`](types#user);
\}
  \| \{
  `status`: `"EMAIL_ALREADY_EXISTS_ERROR"`;
\}\>

##### createResetPasswordToken()

```ts check=false reason="Generated API signature"
createResetPasswordToken(input): Promise<
  | {
  status: "OK";
  token: string;
}
  | {
  status: "UNKNOWN_USER_ID_ERROR";
}>;
```

Defined in: [recipe/emailpassword/types.ts:160](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L160)

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`](types#usercontext); `userId`: `string`; \} |
| `input.email` | `string` |
| `input.tenantId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |
| `input.userId` | `string` |

###### Returns

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

##### signIn()

```ts check=false reason="Generated API signature"
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:128](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L128)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `password`: `string`; `session`: `SessionContainerInterface` \| `undefined`; `shouldTryLinkingWithSessionUser`: `boolean` \| `undefined`; `tenantId`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.email` | `string` |
| `input.password` | `string` |
| `input.session` | `SessionContainerInterface` \| `undefined` |
| `input.shouldTryLinkingWithSessionUser` | `boolean` \| `undefined` |
| `input.tenantId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |

###### Returns

`Promise`\<
  \| \{
  `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1);
  `status`: `"OK"`;
  `user`: [`User`](types#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()

```ts check=false reason="Generated API signature"
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:87](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L87)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `password`: `string`; `session`: `SessionContainerInterface` \| `undefined`; `shouldTryLinkingWithSessionUser`: `boolean` \| `undefined`; `tenantId`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.email` | `string` |
| `input.password` | `string` |
| `input.session` | `SessionContainerInterface` \| `undefined` |
| `input.shouldTryLinkingWithSessionUser` | `boolean` \| `undefined` |
| `input.tenantId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |

###### Returns

`Promise`\<
  \| \{
  `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1);
  `status`: `"OK"`;
  `user`: [`User`](types#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()

```ts check=false reason="Generated API signature"
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:176](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L176)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `applyPasswordPolicy?`: `boolean`; `email?`: `string`; `password?`: `string`; `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1); `tenantIdForPasswordPolicy`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.applyPasswordPolicy?` | `boolean` |
| `input.email?` | `string` |
| `input.password?` | `string` |
| `input.recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `input.tenantIdForPasswordPolicy` | `string` |
| `input.userContext` | [`UserContext`](types#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()

```ts check=false reason="Generated API signature"
verifyCredentials(input): Promise<
  | {
  recipeUserId: RecipeUserId;
  status: "OK";
  user: User;
}
  | {
  status: "WRONG_CREDENTIALS_ERROR";
}>;
```

Defined in: [recipe/emailpassword/types.ts:148](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L148)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `password`: `string`; `tenantId`: `string`; `userContext`: [`UserContext`](types#usercontext); \} |
| `input.email` | `string` |
| `input.password` | `string` |
| `input.tenantId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |

###### Returns

`Promise`\<
  \| \{
  `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1);
  `status`: `"OK"`;
  `user`: [`User`](types#user);
\}
  \| \{
  `status`: `"WRONG_CREDENTIALS_ERROR"`;
\}\>

***

### TypeEmailPasswordEmailDeliveryInput

```ts check=false reason="Generated API signature"
type TypeEmailPasswordEmailDeliveryInput = TypeEmailPasswordPasswordResetEmailDeliveryInput;
```

Defined in: [recipe/emailpassword/types.ts:332](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L332)

***

### TypeEmailPasswordPasswordResetEmailDeliveryInput

```ts check=false reason="Generated API signature"
type TypeEmailPasswordPasswordResetEmailDeliveryInput = object;
```

Defined in: [recipe/emailpassword/types.ts:321](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L321)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="passwordresetlink"></a> `passwordResetLink` | `string` | [recipe/emailpassword/types.ts:328](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L328) |
| <a id="tenantid"></a> `tenantId` | `string` | [recipe/emailpassword/types.ts:329](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L329) |
| <a id="type"></a> `type` | `"PASSWORD_RESET"` | [recipe/emailpassword/types.ts:322](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L322) |
| <a id="user"></a> `user` | `object` | [recipe/emailpassword/types.ts:323](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L323) |
| `user.email` | `string` | [recipe/emailpassword/types.ts:326](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L326) |
| `user.id` | `string` | [recipe/emailpassword/types.ts:324](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L324) |
| `user.recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) \| `undefined` | [recipe/emailpassword/types.ts:325](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L325) |

***

### TypeFormField

```ts check=false reason="Generated API signature"
type TypeFormField = object;
```

Defined in: [recipe/emailpassword/types.ts:49](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L49)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="id-1"></a> `id` | `string` | [recipe/emailpassword/types.ts:49](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L49) |
| <a id="value"></a> `value` | `any` | [recipe/emailpassword/types.ts:49](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L49) |

***

### TypeInput

```ts check=false reason="Generated API signature"
type TypeInput = object;
```

Defined in: [recipe/emailpassword/types.ts:74](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L74)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="emaildelivery-1"></a> `emailDelivery?` | `EmailDeliveryTypeInput`\<[`TypeEmailPasswordEmailDeliveryInput`](#typeemailpasswordemaildeliveryinput)\> | [recipe/emailpassword/types.ts:76](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L76) |
| <a id="override"></a> `override?` | `object` | [recipe/emailpassword/types.ts:77](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L77) |
| `override.apis?` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/emailpassword/types.ts:82](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L82) |
| `override.functions?` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/emailpassword/types.ts:78](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L78) |
| <a id="signupfeature"></a> `signUpFeature?` | [`TypeInputSignUp`](#typeinputsignup) | [recipe/emailpassword/types.ts:75](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L75) |

***

### TypeInputFormField

```ts check=false reason="Generated API signature"
type TypeInputFormField = object;
```

Defined in: [recipe/emailpassword/types.ts:43](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L43)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="id-2"></a> `id` | `string` | [recipe/emailpassword/types.ts:44](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L44) |
| <a id="optional-1"></a> `optional?` | `boolean` | [recipe/emailpassword/types.ts:46](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L46) |
| <a id="validate-1"></a> `validate?` | (`value`, `tenantId`, `userContext`) => `Promise`\<`string` \| `undefined`\> | [recipe/emailpassword/types.ts:45](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L45) |

***

### TypeInputSignUp

```ts check=false reason="Generated API signature"
type TypeInputSignUp = object;
```

Defined in: [recipe/emailpassword/types.ts:51](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L51)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="formfields"></a> `formFields?` | [`TypeInputFormField`](#typeinputformfield)[] | [recipe/emailpassword/types.ts:52](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L52) |

***

### TypeNormalisedInput

```ts check=false reason="Generated API signature"
type TypeNormalisedInput = object;
```

Defined in: [recipe/emailpassword/types.ts:27](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L27)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="getemaildeliveryconfig"></a> `getEmailDeliveryConfig` | (`isInServerlessEnv`) => `EmailDeliveryTypeInputWithService`\<[`TypeEmailPasswordEmailDeliveryInput`](#typeemailpasswordemaildeliveryinput)\> | [recipe/emailpassword/types.ts:30](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L30) |
| <a id="override-1"></a> `override` | `object` | [recipe/emailpassword/types.ts:34](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L34) |
| `override.apis` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/emailpassword/types.ts:39](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L39) |
| `override.functions` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/emailpassword/types.ts:35](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L35) |
| <a id="resetpasswordusingtokenfeature"></a> `resetPasswordUsingTokenFeature` | [`TypeNormalisedInputResetPasswordUsingTokenFeature`](#typenormalisedinputresetpasswordusingtokenfeature) | [recipe/emailpassword/types.ts:33](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L33) |
| <a id="signinfeature"></a> `signInFeature` | [`TypeNormalisedInputSignIn`](#typenormalisedinputsignin) | [recipe/emailpassword/types.ts:29](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L29) |
| <a id="signupfeature-1"></a> `signUpFeature` | [`TypeNormalisedInputSignUp`](#typenormalisedinputsignup) | [recipe/emailpassword/types.ts:28](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L28) |

***

### TypeNormalisedInputResetPasswordUsingTokenFeature

```ts check=false reason="Generated API signature"
type TypeNormalisedInputResetPasswordUsingTokenFeature = object;
```

Defined in: [recipe/emailpassword/types.ts:69](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L69)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="formfieldsforgeneratetokenform"></a> `formFieldsForGenerateTokenForm` | [`NormalisedFormField`](#normalisedformfield)[] | [recipe/emailpassword/types.ts:70](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L70) |
| <a id="formfieldsforpasswordresetform"></a> `formFieldsForPasswordResetForm` | [`NormalisedFormField`](#normalisedformfield)[] | [recipe/emailpassword/types.ts:71](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L71) |

***

### TypeNormalisedInputSignIn

```ts check=false reason="Generated API signature"
type TypeNormalisedInputSignIn = object;
```

Defined in: [recipe/emailpassword/types.ts:65](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L65)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="formfields-1"></a> `formFields` | [`NormalisedFormField`](#normalisedformfield)[] | [recipe/emailpassword/types.ts:66](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L66) |

***

### TypeNormalisedInputSignUp

```ts check=false reason="Generated API signature"
type TypeNormalisedInputSignUp = object;
```

Defined in: [recipe/emailpassword/types.ts:61](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L61)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="formfields-2"></a> `formFields` | [`NormalisedFormField`](#normalisedformfield)[] | [recipe/emailpassword/types.ts:62](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailpassword/types.ts#L62) |
