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

## Type Aliases

### APIInterface

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

Defined in: [recipe/multifactorauth/types.ts:118](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L118)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="resyncsessionandfetchmfainfoput"></a> `resyncSessionAndFetchMFAInfoPUT` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `emails`: `Record`\<`string`, `string`[] \| `undefined`\>; `factors`: \{ `allowedToSetup`: `string`[]; `alreadySetup`: `string`[]; `next`: `string`[]; \}; `phoneNumbers`: `Record`\<`string`, `string`[] \| `undefined`\>; `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/multifactorauth/types.ts:119](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L119) |

***

### APIOptions

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

Defined in: [recipe/multifactorauth/types.ts:108](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L108)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="config"></a> `config` | [`TypeNormalisedInput`](#typenormalisedinput) | [recipe/multifactorauth/types.ts:111](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L111) |
| <a id="isinserverlessenv"></a> `isInServerlessEnv` | `boolean` | [recipe/multifactorauth/types.ts:113](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L113) |
| <a id="recipeid"></a> `recipeId` | `string` | [recipe/multifactorauth/types.ts:112](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L112) |
| <a id="recipeimplementation"></a> `recipeImplementation` | [`RecipeInterface`](#recipeinterface) | [recipe/multifactorauth/types.ts:109](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L109) |
| <a id="recipeinstance"></a> `recipeInstance` | `Recipe` | [recipe/multifactorauth/types.ts:110](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L110) |
| <a id="req"></a> `req` | `BaseRequest` | [recipe/multifactorauth/types.ts:114](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L114) |
| <a id="res"></a> `res` | `BaseResponse` | [recipe/multifactorauth/types.ts:115](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L115) |

***

### GetAllAvailableSecondaryFactorIdsFromOtherRecipesFunc()

```ts check=false reason="Generated API signature"
type GetAllAvailableSecondaryFactorIdsFromOtherRecipesFunc = (tenantConfig) => string[];
```

Defined in: [recipe/multifactorauth/types.ts:138](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L138)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tenantConfig` | [`TenantConfig`](recipe-multitenancy-types#tenantconfig) |

#### Returns

`string`[]

***

### GetEmailsForFactorFromOtherRecipesFunc()

```ts check=false reason="Generated API signature"
type GetEmailsForFactorFromOtherRecipesFunc = (user, sessionRecipeUserId) => 
  | {
  factorIdToEmailsMap: Record<string, string[]>;
  status: "OK";
}
  | {
  status: "UNKNOWN_SESSION_RECIPE_USER_ID";
};
```

Defined in: [recipe/multifactorauth/types.ts:140](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L140)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `user` | [`User`](index#user-1) |
| `sessionRecipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |

#### Returns

  \| \{
  `factorIdToEmailsMap`: `Record`\<`string`, `string`[]\>;
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"UNKNOWN_SESSION_RECIPE_USER_ID"`;
\}

***

### GetFactorsSetupForUserFromOtherRecipesFunc()

```ts check=false reason="Generated API signature"
type GetFactorsSetupForUserFromOtherRecipesFunc = (user, userContext) => Promise<string[]>;
```

Defined in: [recipe/multifactorauth/types.ts:136](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L136)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `user` | [`User`](index#user-1) |
| `userContext` | [`UserContext`](types#usercontext) |

#### Returns

`Promise`\<`string`[]\>

***

### GetPhoneNumbersForFactorsFromOtherRecipesFunc()

```ts check=false reason="Generated API signature"
type GetPhoneNumbersForFactorsFromOtherRecipesFunc = (user, sessionRecipeUserId) => 
  | {
  factorIdToPhoneNumberMap: Record<string, string[]>;
  status: "OK";
}
  | {
  status: "UNKNOWN_SESSION_RECIPE_USER_ID";
};
```

Defined in: [recipe/multifactorauth/types.ts:144](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L144)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `user` | [`User`](index#user-1) |
| `sessionRecipeUserId` | [`RecipeUserId`](index#recipeuserid-1) |

#### Returns

  \| \{
  `factorIdToPhoneNumberMap`: `Record`\<`string`, `string`[]\>;
  `status`: `"OK"`;
\}
  \| \{
  `status`: `"UNKNOWN_SESSION_RECIPE_USER_ID"`;
\}

***

### MFAClaimValue

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

Defined in: [recipe/multifactorauth/types.ts:36](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L36)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="c"></a> `c` | `Record`\<`string`, `number` \| `undefined`\> | [recipe/multifactorauth/types.ts:37](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L37) |
| <a id="v"></a> `v` | `boolean` | [recipe/multifactorauth/types.ts:38](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L38) |

***

### MFARequirementList

```ts check=false reason="Generated API signature"
type MFARequirementList = (
  | {
  oneOf: string[];
}
  | {
  allOfInAnyOrder: string[];
}
  | string)[];
```

Defined in: [recipe/multifactorauth/types.ts:26](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L26)

***

### RecipeInterface

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

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

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="addtorequiredsecondaryfactorsforuser"></a> `addToRequiredSecondaryFactorsForUser` | (`input`) => `Promise`\<`void`\> | [recipe/multifactorauth/types.ts:95](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L95) |
| <a id="assertallowedtosetupfactorelsethrowinvalidclaimerror"></a> `assertAllowedToSetupFactorElseThrowInvalidClaimError` | (`input`) => `Promise`\<`void`\> | [recipe/multifactorauth/types.ts:66](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L66) |
| <a id="getfactorssetupforuser"></a> `getFactorsSetupForUser` | (`input`) => `Promise`\<`string`[]\> | [recipe/multifactorauth/types.ts:91](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L91) |
| <a id="getmfarequirementsforauth"></a> `getMFARequirementsForAuth` | (`input`) => \| `Promise`\<[`MFARequirementList`](#mfarequirementlist)\> \| [`MFARequirementList`](#mfarequirementlist) | [recipe/multifactorauth/types.ts:74](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L74) |
| <a id="getrequiredsecondaryfactorsforuser"></a> `getRequiredSecondaryFactorsForUser` | (`input`) => `Promise`\<`string`[]\> | [recipe/multifactorauth/types.ts:93](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L93) |
| <a id="markfactorascompleteinsession"></a> `markFactorAsCompleteInSession` | (`input`) => `Promise`\<`void`\> | [recipe/multifactorauth/types.ts:85](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L85) |
| <a id="removefromrequiredsecondaryfactorsforuser"></a> `removeFromRequiredSecondaryFactorsForUser` | (`input`) => `Promise`\<`void`\> | [recipe/multifactorauth/types.ts:101](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L101) |

***

### TypeInput

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

Defined in: [recipe/multifactorauth/types.ts:41](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L41)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="firstfactors"></a> `firstFactors?` | `string`[] | [recipe/multifactorauth/types.ts:42](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L42) |
| <a id="override"></a> `override?` | `object` | [recipe/multifactorauth/types.ts:44](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L44) |
| `override.apis?` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/multifactorauth/types.ts:49](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L49) |
| `override.functions?` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/multifactorauth/types.ts:45](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L45) |

***

### TypeNormalisedInput

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

Defined in: [recipe/multifactorauth/types.ts:53](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L53)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="firstfactors-1"></a> `firstFactors?` | `string`[] | [recipe/multifactorauth/types.ts:54](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L54) |
| <a id="override-1"></a> `override` | `object` | [recipe/multifactorauth/types.ts:56](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L56) |
| `override.apis` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/multifactorauth/types.ts:61](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L61) |
| `override.functions` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/multifactorauth/types.ts:57](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L57) |

## Variables

### FactorIds

```ts check=false reason="Generated API signature"
const FactorIds: object;
```

Defined in: [recipe/multifactorauth/types.ts:151](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L151)

#### Type Declaration

| Name | Type | Default value | Defined in |
| ------ | ------ | ------ | ------ |
| <a id="emailpassword"></a> `EMAILPASSWORD` | `string` | `"emailpassword"` | [recipe/multifactorauth/types.ts:152](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L152) |
| <a id="link_email"></a> `LINK_EMAIL` | `string` | `"link-email"` | [recipe/multifactorauth/types.ts:156](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L156) |
| <a id="link_phone"></a> `LINK_PHONE` | `string` | `"link-phone"` | [recipe/multifactorauth/types.ts:157](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L157) |
| <a id="otp_email"></a> `OTP_EMAIL` | `string` | `"otp-email"` | [recipe/multifactorauth/types.ts:154](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L154) |
| <a id="otp_phone"></a> `OTP_PHONE` | `string` | `"otp-phone"` | [recipe/multifactorauth/types.ts:155](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L155) |
| <a id="thirdparty"></a> `THIRDPARTY` | `string` | `"thirdparty"` | [recipe/multifactorauth/types.ts:158](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L158) |
| <a id="totp"></a> `TOTP` | `string` | `"totp"` | [recipe/multifactorauth/types.ts:159](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L159) |
| <a id="webauthn"></a> `WEBAUTHN` | `string` | `"webauthn"` | [recipe/multifactorauth/types.ts:153](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L153) |
