---
title: supertokens-node/recipe/emailverification
description: References documentation for the supertokens-node/recipe/emailverification package
sidebar:
  order: 110
---

## Classes

### default

Defined in: [recipe/emailverification/index.ts:31](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L31)

#### Constructors

##### Constructor

```ts check=false reason="Generated API signature"
new default(): default;
```

###### Returns

[`default`](#default)

#### Properties

| Property | Modifier | Type | Default value | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="member-default-emailverificationclaim"></a> `EmailVerificationClaim` | `static` | `EmailVerificationClaimClass` | `EmailVerificationClaim` | [recipe/emailverification/index.ts:36](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L36) |
| <a id="member-default-error"></a> `Error` | `static` | *typeof* `default` | `SuperTokensError` | [recipe/emailverification/index.ts:34](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L34) |
| <a id="member-default-init"></a> `init` | `static` | (`config`) => [`RecipeListFunction`](types#recipelistfunction) | `Recipe.init` | [recipe/emailverification/index.ts:32](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L32) |

#### Methods

##### createEmailVerificationLink()

```ts check=false reason="Generated API signature"
static createEmailVerificationLink(
   tenantId, 
   recipeUserId, 
   email?, 
   userContext?): Promise<
  | {
  link: string;
  status: "OK";
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}>;
```

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

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<
  \| \{
  `link`: `string`;
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"EMAIL_ALREADY_VERIFIED_ERROR"`;
\}\>

##### createEmailVerificationToken()

```ts check=false reason="Generated API signature"
static createEmailVerificationToken(
   tenantId, 
   recipeUserId, 
   email?, 
   userContext?): Promise<
  | {
  status: "OK";
  token: string;
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}>;
```

Defined in: [recipe/emailverification/index.ts:38](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L38)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

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

##### isEmailVerified()

```ts check=false reason="Generated API signature"
static isEmailVerified(
   recipeUserId, 
   email?, 
userContext?): Promise<boolean>;
```

Defined in: [recipe/emailverification/index.ts:176](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L176)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`boolean`\>

##### revokeEmailVerificationTokens()

```ts check=false reason="Generated API signature"
static revokeEmailVerificationTokens(
   tenantId, 
   recipeUserId, 
   email?, 
   userContext?): Promise<{
  status: string;
}>;
```

Defined in: [recipe/emailverification/index.ts:198](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L198)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<\{
  `status`: `string`;
\}\>

##### sendEmail()

```ts check=false reason="Generated API signature"
static sendEmail(input): Promise<void>;
```

Defined in: [recipe/emailverification/index.ts:256](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L256)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | [`TypeEmailVerificationEmailDeliveryInput`](recipe-emailverification-types#typeemailverificationemaildeliveryinput) & `object` |

###### Returns

`Promise`\<`void`\>

##### sendEmailVerificationEmail()

```ts check=false reason="Generated API signature"
static sendEmailVerificationEmail(
   tenantId, 
   userId, 
   recipeUserId, 
   email?, 
   userContext?): Promise<
  | {
  status: "OK";
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}>;
```

Defined in: [recipe/emailverification/index.ts:109](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L109)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `userId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<
  \| \{
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"EMAIL_ALREADY_VERIFIED_ERROR"`;
\}\>

##### unverifyEmail()

```ts check=false reason="Generated API signature"
static unverifyEmail(
   recipeUserId, 
   email?, 
   userContext?): Promise<{
  status: string;
}>;
```

Defined in: [recipe/emailverification/index.ts:233](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L233)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<\{
  `status`: `string`;
\}\>

##### verifyEmailUsingToken()

```ts check=false reason="Generated API signature"
static verifyEmailUsingToken(
   tenantId, 
   token, 
   attemptAccountLinking, 
   userContext?): Promise<
  | {
  status: "OK";
  user: UserEmailInfo;
}
  | {
  status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR";
}>;
```

Defined in: [recipe/emailverification/index.ts:162](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L162)

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `tenantId` | `string` | `undefined` |
| `token` | `string` | `undefined` |
| `attemptAccountLinking` | `boolean` | `true` |
| `userContext?` | `Record`\<`string`, `any`\> | `undefined` |

###### Returns

`Promise`\<
  \| \{
  `status`: `"OK"`;
  `user`: [`UserEmailInfo`](recipe-emailverification-types#useremailinfo);
\}
  \| \{
  `status`: `"EMAIL_VERIFICATION_INVALID_TOKEN_ERROR"`;
\}\>

## Variables

### createEmailVerificationLink()

```ts check=false reason="Generated API signature"
createEmailVerificationLink: (tenantId, recipeUserId, email?, userContext?) => Promise<
  | {
  link: string;
  status: "OK";
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}> = Wrapper.createEmailVerificationLink;
```

Defined in: [recipe/emailverification/index.ts:271](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L271)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<
  \| \{
  `link`: `string`;
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"EMAIL_ALREADY_VERIFIED_ERROR"`;
\}\>

***

### createEmailVerificationToken()

```ts check=false reason="Generated API signature"
createEmailVerificationToken: (tenantId, recipeUserId, email?, userContext?) => Promise<
  | {
  status: "OK";
  token: string;
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}> = Wrapper.createEmailVerificationToken;
```

Defined in: [recipe/emailverification/index.ts:269](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L269)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

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

***

### EmailVerificationClaim

```ts check=false reason="Generated API signature"
const EmailVerificationClaim: EmailVerificationClaimClass;
```

Defined in: [recipe/emailverification/emailVerificationClaim.ts:68](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/emailVerificationClaim.ts#L68)

***

### Error

```ts check=false reason="Generated API signature"
Error: typeof default = Wrapper.Error;
```

Defined in: [recipe/emailverification/index.ts:267](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L267)

***

### init()

```ts check=false reason="Generated API signature"
init: (config) => RecipeListFunction = Wrapper.init;
```

Defined in: [recipe/emailverification/index.ts:265](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L265)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `config` | [`TypeInput`](recipe-emailverification-types#typeinput) |

#### Returns

[`RecipeListFunction`](types#recipelistfunction)

***

### isEmailVerified()

```ts check=false reason="Generated API signature"
isEmailVerified: (recipeUserId, email?, userContext?) => Promise<boolean> = Wrapper.isEmailVerified;
```

Defined in: [recipe/emailverification/index.ts:277](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L277)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`boolean`\>

***

### revokeEmailVerificationTokens()

```ts check=false reason="Generated API signature"
revokeEmailVerificationTokens: (tenantId, recipeUserId, email?, userContext?) => Promise<{
  status: string;
}> = Wrapper.revokeEmailVerificationTokens;
```

Defined in: [recipe/emailverification/index.ts:279](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L279)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<\{
  `status`: `string`;
\}\>

***

### sendEmail()

```ts check=false reason="Generated API signature"
sendEmail: (input) => Promise<void> = Wrapper.sendEmail;
```

Defined in: [recipe/emailverification/index.ts:285](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L285)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | [`TypeEmailVerificationEmailDeliveryInput`](recipe-emailverification-types#typeemailverificationemaildeliveryinput) & `object` |

#### Returns

`Promise`\<`void`\>

***

### sendEmailVerificationEmail()

```ts check=false reason="Generated API signature"
sendEmailVerificationEmail: (tenantId, userId, recipeUserId, email?, userContext?) => Promise<
  | {
  status: "OK";
}
  | {
  status: "EMAIL_ALREADY_VERIFIED_ERROR";
}> = Wrapper.sendEmailVerificationEmail;
```

Defined in: [recipe/emailverification/index.ts:273](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L273)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantId` | `string` |
| `userId` | `string` |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<
  \| \{
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"EMAIL_ALREADY_VERIFIED_ERROR"`;
\}\>

***

### unverifyEmail()

```ts check=false reason="Generated API signature"
unverifyEmail: (recipeUserId, email?, userContext?) => Promise<{
  status: string;
}> = Wrapper.unverifyEmail;
```

Defined in: [recipe/emailverification/index.ts:281](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L281)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |
| `email?` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<\{
  `status`: `string`;
\}\>

***

### verifyEmailUsingToken()

```ts check=false reason="Generated API signature"
verifyEmailUsingToken: (tenantId, token, attemptAccountLinking, userContext?) => Promise<
  | {
  status: "OK";
  user: UserEmailInfo;
}
  | {
  status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR";
}> = Wrapper.verifyEmailUsingToken;
```

Defined in: [recipe/emailverification/index.ts:275](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/emailverification/index.ts#L275)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `tenantId` | `string` | `undefined` |
| `token` | `string` | `undefined` |
| `attemptAccountLinking` | `boolean` | `true` |
| `userContext?` | `Record`\<`string`, `any`\> | `undefined` |

#### Returns

`Promise`\<
  \| \{
  `status`: `"OK"`;
  `user`: [`UserEmailInfo`](recipe-emailverification-types#useremailinfo);
\}
  \| \{
  `status`: `"EMAIL_VERIFICATION_INVALID_TOKEN_ERROR"`;
\}\>

## References

### APIInterface

Re-exports [APIInterface](recipe-emailverification-types#apiinterface)

***

### APIOptions

Re-exports [APIOptions](recipe-emailverification-types#apioptions)

***

### RecipeInterface

Re-exports [RecipeInterface](recipe-emailverification-types#recipeinterface)

***

### UserEmailInfo

Re-exports [UserEmailInfo](recipe-emailverification-types#useremailinfo)
