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

## Type Aliases

### APIInterface

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

Defined in: [recipe/webauthn/types.ts:477](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L477)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="emailexistsget"></a> `emailExistsGET` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `exists`: `boolean`; `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/webauthn/types.ts:655](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L655) |
| <a id="generaterecoveraccounttokenpost"></a> `generateRecoverAccountTokenPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `GenerateRecoverAccountTokenPOSTErrorResponse`\> | [recipe/webauthn/types.ts:580](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L580) |
| <a id="listcredentialsget"></a> `listCredentialsGET` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `credentials`: `object`[]; `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse)\> | [recipe/webauthn/types.ts:609](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L609) |
| <a id="recoveraccountpost"></a> `recoverAccountPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `email`: `string`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `RecoverAccountPOSTErrorResponse`\> | [recipe/webauthn/types.ts:590](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L590) |
| <a id="registercredentialpost"></a> `registerCredentialPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `RegisterCredentialPOSTErrorResponse`\> | [recipe/webauthn/types.ts:623](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L623) |
| <a id="registeroptionspost"></a> `registerOptionsPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `attestation`: `"none"` \| `"indirect"` \| `"direct"` \| `"enterprise"`; `authenticatorSelection`: \{ `requireResidentKey`: `boolean`; `residentKey`: [`ResidentKey`](#residentkey); `userVerification`: [`UserVerification`](#userverification); \}; `challenge`: `string`; `createdAt`: `number`; `excludeCredentials`: `object`[]; `expiresAt`: `number`; `pubKeyCredParams`: `object`[]; `rp`: \{ `id`: `string`; `name`: `string`; \}; `status`: `"OK"`; `timeout`: `number`; `user`: \{ `displayName`: `string`; `id`: `string`; `name`: `string`; \}; `webauthnGeneratedOptionsId`: `string`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `RegisterOptionsPOSTErrorResponse`\> | [recipe/webauthn/types.ts:478](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L478) |
| <a id="removecredentialpost"></a> `removeCredentialPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `status`: `"OK"`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `RemoveCredentialPOSTErrorResponse`\> | [recipe/webauthn/types.ts:640](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L640) |
| <a id="signinoptionspost"></a> `signInOptionsPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `challenge`: `string`; `createdAt`: `number`; `expiresAt`: `number`; `rpId`: `string`; `status`: `"OK"`; `timeout`: `number`; `userVerification`: [`UserVerification`](#userverification); `webauthnGeneratedOptionsId`: `string`; \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `SignInOptionsPOSTErrorResponse`\> | [recipe/webauthn/types.ts:523](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L523) |
| <a id="signinpost"></a> `signInPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `session`: `SessionContainerInterface`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `SignInPOSTErrorResponse`\> | [recipe/webauthn/types.ts:560](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L560) |
| <a id="signuppost"></a> `signUpPOST` | \| `undefined` \| (`input`) => `Promise`\< \| \{ `session`: `SessionContainerInterface`; `status`: `"OK"`; `user`: [`User`](types#user); \} \| [`GeneralErrorResponse`](types#generalerrorresponse) \| `SignUpPOSTErrorResponse`\> | [recipe/webauthn/types.ts:540](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L540) |

***

### APIOptions

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

Defined in: [recipe/webauthn/types.ts:420](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L420)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="appinfo"></a> `appInfo` | [`NormalisedAppinfo`](types#normalisedappinfo) | [recipe/webauthn/types.ts:422](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L422) |
| <a id="config"></a> `config` | [`TypeNormalisedInput`](#typenormalisedinput) | [recipe/webauthn/types.ts:423](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L423) |
| <a id="emaildelivery"></a> `emailDelivery` | `EmailDeliveryIngredient`\<[`TypeWebauthnEmailDeliveryInput`](#typewebauthnemaildeliveryinput)\> | [recipe/webauthn/types.ts:428](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L428) |
| <a id="isinserverlessenv"></a> `isInServerlessEnv` | `boolean` | [recipe/webauthn/types.ts:425](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L425) |
| <a id="recipeid"></a> `recipeId` | `string` | [recipe/webauthn/types.ts:424](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L424) |
| <a id="recipeimplementation"></a> `recipeImplementation` | [`RecipeInterface`](#recipeinterface) | [recipe/webauthn/types.ts:421](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L421) |
| <a id="req"></a> `req` | `BaseRequest` | [recipe/webauthn/types.ts:426](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L426) |
| <a id="res"></a> `res` | `BaseResponse` | [recipe/webauthn/types.ts:427](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L427) |

***

### Attestation

```ts check=false reason="Generated API signature"
type Attestation = "none" | "indirect" | "direct" | "enterprise";
```

Defined in: [recipe/webauthn/types.ts:173](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L173)

***

### AuthenticationPayload

```ts check=false reason="Generated API signature"
type AuthenticationPayload = CredentialPayloadBase & object;
```

Defined in: [recipe/webauthn/types.ts:703](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L703)

#### Type Declaration

| Name | Type | Defined in |
| ------ | ------ | ------ |
| `response` | [`AuthenticatorAssertionResponseJSON`](#authenticatorassertionresponsejson) | [recipe/webauthn/types.ts:704](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L704) |

***

### AuthenticatorAssertionResponseJSON

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

Defined in: [recipe/webauthn/types.ts:687](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L687)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="authenticatordata"></a> `authenticatorData` | `Base64URLString` | [recipe/webauthn/types.ts:689](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L689) |
| <a id="clientdatajson"></a> `clientDataJSON` | `Base64URLString` | [recipe/webauthn/types.ts:688](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L688) |
| <a id="signature"></a> `signature` | `Base64URLString` | [recipe/webauthn/types.ts:690](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L690) |
| <a id="userhandle"></a> `userHandle?` | `Base64URLString` | [recipe/webauthn/types.ts:691](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L691) |

***

### AuthenticatorAttestationResponseJSON

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

Defined in: [recipe/webauthn/types.ts:694](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L694)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="attestationobject"></a> `attestationObject` | `Base64URLString` | [recipe/webauthn/types.ts:696](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L696) |
| <a id="authenticatordata-1"></a> `authenticatorData?` | `Base64URLString` | [recipe/webauthn/types.ts:697](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L697) |
| <a id="clientdatajson-1"></a> `clientDataJSON` | `Base64URLString` | [recipe/webauthn/types.ts:695](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L695) |
| <a id="publickey"></a> `publicKey?` | `Base64URLString` | [recipe/webauthn/types.ts:700](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L700) |
| <a id="publickeyalgorithm"></a> `publicKeyAlgorithm?` | `COSEAlgorithmIdentifier` | [recipe/webauthn/types.ts:699](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L699) |
| <a id="transports"></a> `transports?` | (`"ble"` \| `"cable"` \| `"hybrid"` \| `"internal"` \| `"nfc"` \| `"smart-card"` \| `"usb"`)[] | [recipe/webauthn/types.ts:698](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L698) |

***

### CredentialPayload

```ts check=false reason="Generated API signature"
type CredentialPayload = CredentialPayloadBase & object;
```

Defined in: [recipe/webauthn/types.ts:711](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L711)

#### Type Declaration

| Name | Type | Defined in |
| ------ | ------ | ------ |
| `response` | `object` | [recipe/webauthn/types.ts:712](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L712) |
| `response.attestationObject` | `string` | [recipe/webauthn/types.ts:714](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L714) |
| `response.clientDataJSON` | `string` | [recipe/webauthn/types.ts:713](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L713) |
| `response.transports?` | (`"ble"` \| `"cable"` \| `"hybrid"` \| `"internal"` \| `"nfc"` \| `"smart-card"` \| `"usb"`)[] | [recipe/webauthn/types.ts:715](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L715) |
| `response.userHandle` | `string` | [recipe/webauthn/types.ts:716](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L716) |

***

### CredentialPayloadBase

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

Defined in: [recipe/webauthn/types.ts:679](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L679)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="authenticatorattachment"></a> `authenticatorAttachment?` | `"platform"` \| `"cross-platform"` | [recipe/webauthn/types.ts:682](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L682) |
| <a id="clientextensionresults"></a> `clientExtensionResults` | `Record`\<`string`, `unknown`\> | [recipe/webauthn/types.ts:683](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L683) |
| <a id="id"></a> `id` | `string` | [recipe/webauthn/types.ts:680](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L680) |
| <a id="rawid"></a> `rawId` | `string` | [recipe/webauthn/types.ts:681](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L681) |
| <a id="type"></a> `type` | `"public-key"` | [recipe/webauthn/types.ts:684](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L684) |

***

### RecipeInterface

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

Defined in: [recipe/webauthn/types.ts:175](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L175)

#### Methods

##### consumeRecoverAccountToken()

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

Defined in: [recipe/webauthn/types.ts:322](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L322)

###### 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`;
\}
  \| `ConsumeRecoverAccountTokenErrorResponse`\>

##### createNewRecipeUser()

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

Defined in: [recipe/webauthn/types.ts:296](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L296)

This function is meant only for creating the recipe in the core and nothing else.
We added this even though signUp exists cause devs may override signup expecting it
to be called just during sign up. But we also need a version of signing up which can be
called during operations like creating a user during account recovery flow.

###### Parameters

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

###### Returns

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

##### generateRecoverAccountToken()

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

Defined in: [recipe/webauthn/types.ts:315](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L315)

We pass in the email as well to this function cause the input userId
may not be associated with an webauthn account. In this case, we
need to know which email to use to create an webauthn 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`;
\}
  \| `GenerateRecoverAccountTokenErrorResponse`\>

##### getCredential()

```ts check=false reason="Generated API signature"
getCredential(input): Promise<
  | {
  createdAt: number;
  recipeUserId: RecipeUserId;
  relyingPartyId: string;
  status: "OK";
  webauthnCredentialId: string;
}
| GetCredentialErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:358](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L358)

###### Parameters

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

###### Returns

`Promise`\<
  \| \{
  `createdAt`: `number`;
  `recipeUserId`: [`RecipeUserId`](index#recipeuserid-1);
  `relyingPartyId`: `string`;
  `status`: `"OK"`;
  `webauthnCredentialId`: `string`;
\}
  \| `GetCredentialErrorResponse`\>

##### getGeneratedOptions()

```ts check=false reason="Generated API signature"
getGeneratedOptions(input): Promise<
  | {
  challenge: string;
  createdAt: number;
  email?: string;
  expiresAt: number;
  origin: string;
  relyingPartyId: string;
  relyingPartyName: string;
  status: "OK";
  timeout: number;
  userPresence: boolean;
  userVerification: UserVerification;
  webauthnGeneratedOptionsId: string;
}
| GetGeneratedOptionsErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:385](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L385)

###### Parameters

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

###### Returns

`Promise`\<
  \| \{
  `challenge`: `string`;
  `createdAt`: `number`;
  `email?`: `string`;
  `expiresAt`: `number`;
  `origin`: `string`;
  `relyingPartyId`: `string`;
  `relyingPartyName`: `string`;
  `status`: `"OK"`;
  `timeout`: `number`;
  `userPresence`: `boolean`;
  `userVerification`: [`UserVerification`](#userverification);
  `webauthnGeneratedOptionsId`: `string`;
\}
  \| `GetGeneratedOptionsErrorResponse`\>

##### getUserFromRecoverAccountToken()

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

Defined in: [recipe/webauthn/types.ts:343](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L343)

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

##### listCredentials()

```ts check=false reason="Generated API signature"
listCredentials(input): Promise<{
  credentials: object[];
  status: "OK";
}>;
```

Defined in: [recipe/webauthn/types.ts:369](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L369)

###### Parameters

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

###### Returns

`Promise`\<\{
  `credentials`: `object`[];
  `status`: `"OK"`;
\}\>

##### registerCredential()

```ts check=false reason="Generated API signature"
registerCredential(input): Promise<
  | {
  status: "OK";
}
| RegisterCredentialErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:331](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L331)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: [`RegistrationPayload`](#registrationpayload); `recipeUserId`: `string`; `userContext`: [`UserContext`](types#usercontext); `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | [`RegistrationPayload`](#registrationpayload) |
| `input.recipeUserId` | `string` |
| `input.userContext` | [`UserContext`](types#usercontext) |
| `input.webauthnGeneratedOptionsId` | `string` |

###### Returns

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

##### registerOptions()

```ts check=false reason="Generated API signature"
registerOptions(input): Promise<
  | {
  attestation: Attestation;
  authenticatorSelection: {
     requireResidentKey: boolean;
     residentKey: ResidentKey;
     userVerification: UserVerification;
  };
  challenge: string;
  createdAt: number;
  excludeCredentials: object[];
  expiresAt: number;
  pubKeyCredParams: object[];
  rp: {
     id: string;
     name: string;
  };
  status: "OK";
  timeout: number;
  user: {
     displayName: string;
     id: string;
     name: string;
  };
  webauthnGeneratedOptionsId: string;
}
| RegisterOptionsErrorResponse>;
```

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

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | `object` & \| \{ `recoverAccountToken`: `string`; \} \| \{ `displayName`: `string` \| `undefined`; `email`: `string`; \} |

###### Returns

`Promise`\<
  \| \{
  `attestation`: [`Attestation`](#attestation);
  `authenticatorSelection`: \{
     `requireResidentKey`: `boolean`;
     `residentKey`: [`ResidentKey`](#residentkey);
     `userVerification`: [`UserVerification`](#userverification);
  \};
  `challenge`: `string`;
  `createdAt`: `number`;
  `excludeCredentials`: `object`[];
  `expiresAt`: `number`;
  `pubKeyCredParams`: `object`[];
  `rp`: \{
     `id`: `string`;
     `name`: `string`;
  \};
  `status`: `"OK"`;
  `timeout`: `number`;
  `user`: \{
     `displayName`: `string`;
     `id`: `string`;
     `name`: `string`;
  \};
  `webauthnGeneratedOptionsId`: `string`;
\}
  \| `RegisterOptionsErrorResponse`\>

##### removeCredential()

```ts check=false reason="Generated API signature"
removeCredential(input): Promise<
  | {
  status: "OK";
}
| RemoveCredentialErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:351](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L351)

###### Parameters

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

###### Returns

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

##### removeGeneratedOptions()

```ts check=false reason="Generated API signature"
removeGeneratedOptions(input): Promise<
  | {
  status: "OK";
}
| RemoveGeneratedOptionsErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:379](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L379)

###### Parameters

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

###### Returns

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

##### signIn()

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

Defined in: [recipe/webauthn/types.ts:274](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L274)

###### Parameters

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

###### Returns

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

##### signInOptions()

```ts check=false reason="Generated API signature"
signInOptions(input): Promise<
  | {
  challenge: string;
  createdAt: number;
  expiresAt: number;
  status: "OK";
  timeout: number;
  userVerification: UserVerification;
  webauthnGeneratedOptionsId: string;
}
| SignInOptionsErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:236](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L236)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | \{ `origin`: `string`; `relyingPartyId`: `string`; `relyingPartyName`: `string`; `tenantId`: `string`; `timeout`: `number` \| `undefined`; `userContext`: [`UserContext`](types#usercontext); `userPresence`: `boolean` \| `undefined`; `userVerification`: [`UserVerification`](#userverification) \| `undefined`; \} |
| `input.origin` | `string` |
| `input.relyingPartyId` | `string` |
| `input.relyingPartyName` | `string` |
| `input.tenantId` | `string` |
| `input.timeout` | `number` \| `undefined` |
| `input.userContext` | [`UserContext`](types#usercontext) |
| `input.userPresence` | `boolean` \| `undefined` |
| `input.userVerification` | [`UserVerification`](#userverification) \| `undefined` |

###### Returns

`Promise`\<
  \| \{
  `challenge`: `string`;
  `createdAt`: `number`;
  `expiresAt`: `number`;
  `status`: `"OK"`;
  `timeout`: `number`;
  `userVerification`: [`UserVerification`](#userverification);
  `webauthnGeneratedOptionsId`: `string`;
\}
  \| `SignInOptionsErrorResponse`\>

##### signUp()

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

Defined in: [recipe/webauthn/types.ts:258](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L258)

###### Parameters

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

###### Returns

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

##### updateUserEmail()

```ts check=false reason="Generated API signature"
updateUserEmail(input): Promise<
  | {
  status: "OK";
}
| UpdateUserEmailErrorResponse>;
```

Defined in: [recipe/webauthn/types.ts:407](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L407)

###### Parameters

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

###### Returns

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

##### verifyCredentials()

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

Defined in: [recipe/webauthn/types.ts:283](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L283)

###### Parameters

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

###### Returns

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

***

### RegistrationPayload

```ts check=false reason="Generated API signature"
type RegistrationPayload = CredentialPayloadBase & object;
```

Defined in: [recipe/webauthn/types.ts:707](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L707)

#### Type Declaration

| Name | Type | Defined in |
| ------ | ------ | ------ |
| `response` | [`AuthenticatorAttestationResponseJSON`](#authenticatorattestationresponsejson) | [recipe/webauthn/types.ts:708](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L708) |

***

### ResidentKey

```ts check=false reason="Generated API signature"
type ResidentKey = "required" | "preferred" | "discouraged";
```

Defined in: [recipe/webauthn/types.ts:171](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L171)

***

### TypeInput

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

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

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="emaildelivery-1"></a> `emailDelivery?` | `EmailDeliveryTypeInput`\<[`TypeWebauthnEmailDeliveryInput`](#typewebauthnemaildeliveryinput)\> | [recipe/webauthn/types.ts:69](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L69) |
| <a id="getorigin"></a> `getOrigin?` | [`TypeInputGetOrigin`](#typeinputgetorigin) | [recipe/webauthn/types.ts:73](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L73) |
| <a id="getrelyingpartyid"></a> `getRelyingPartyId?` | [`TypeInputRelyingPartyId`](#typeinputrelyingpartyid) | [recipe/webauthn/types.ts:70](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L70) |
| <a id="getrelyingpartyname"></a> `getRelyingPartyName?` | [`TypeInputRelyingPartyName`](#typeinputrelyingpartyname) | [recipe/webauthn/types.ts:71](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L71) |
| <a id="override"></a> `override?` | `object` | [recipe/webauthn/types.ts:74](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L74) |
| `override.apis?` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/webauthn/types.ts:79](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L79) |
| `override.functions?` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/webauthn/types.ts:75](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L75) |
| <a id="validateemailaddress"></a> `validateEmailAddress?` | [`TypeInputValidateEmailAddress`](#typeinputvalidateemailaddress) | [recipe/webauthn/types.ts:72](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L72) |

***

### TypeInputGetOrigin()

```ts check=false reason="Generated API signature"
type TypeInputGetOrigin = (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:91](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L91)

#### Parameters

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

#### Returns

`Promise`\<`string`\>

***

### TypeInputRelyingPartyId

```ts check=false reason="Generated API signature"
type TypeInputRelyingPartyId = string | (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:83](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L83)

***

### TypeInputRelyingPartyName

```ts check=false reason="Generated API signature"
type TypeInputRelyingPartyName = string | (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:87](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L87)

***

### TypeInputValidateEmailAddress()

```ts check=false reason="Generated API signature"
type TypeInputValidateEmailAddress = (email, tenantId, userContext) => Promise<string | undefined> | string | undefined;
```

Defined in: [recipe/webauthn/types.ts:97](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L97)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `email` | `string` |
| `tenantId` | `string` |
| `userContext` | [`UserContext`](types#usercontext) |

#### Returns

`Promise`\<`string` \| `undefined`\> \| `string` \| `undefined`

***

### TypeNormalisedInput

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

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

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="getemaildeliveryconfig"></a> `getEmailDeliveryConfig` | (`isInServerlessEnv`) => `EmailDeliveryTypeInputWithService`\<[`TypeWebauthnEmailDeliveryInput`](#typewebauthnemaildeliveryinput)\> | [recipe/webauthn/types.ts:31](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L31) |
| <a id="getorigin-1"></a> `getOrigin` | [`TypeNormalisedInputGetOrigin`](#typenormalisedinputgetorigin) | [recipe/webauthn/types.ts:30](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L30) |
| <a id="getrelyingpartyid-1"></a> `getRelyingPartyId` | [`TypeNormalisedInputRelyingPartyId`](#typenormalisedinputrelyingpartyid) | [recipe/webauthn/types.ts:28](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L28) |
| <a id="getrelyingpartyname-1"></a> `getRelyingPartyName` | [`TypeNormalisedInputRelyingPartyName`](#typenormalisedinputrelyingpartyname) | [recipe/webauthn/types.ts:29](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L29) |
| <a id="override-1"></a> `override` | `object` | [recipe/webauthn/types.ts:35](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L35) |
| `override.apis` | (`originalImplementation`, `builder`) => [`APIInterface`](#apiinterface) | [recipe/webauthn/types.ts:40](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L40) |
| `override.functions` | (`originalImplementation`, `builder`) => [`RecipeInterface`](#recipeinterface) | [recipe/webauthn/types.ts:36](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L36) |
| <a id="validateemailaddress-1"></a> `validateEmailAddress` | [`TypeNormalisedInputValidateEmailAddress`](#typenormalisedinputvalidateemailaddress) | [recipe/webauthn/types.ts:34](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L34) |

***

### TypeNormalisedInputGetOrigin()

```ts check=false reason="Generated API signature"
type TypeNormalisedInputGetOrigin = (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:56](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L56)

#### Parameters

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

#### Returns

`Promise`\<`string`\>

***

### TypeNormalisedInputRelyingPartyId()

```ts check=false reason="Generated API signature"
type TypeNormalisedInputRelyingPartyId = (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:44](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L44)

#### Parameters

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

#### Returns

`Promise`\<`string`\>

***

### TypeNormalisedInputRelyingPartyName()

```ts check=false reason="Generated API signature"
type TypeNormalisedInputRelyingPartyName = (input) => Promise<string>;
```

Defined in: [recipe/webauthn/types.ts:50](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L50)

#### Parameters

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

#### Returns

`Promise`\<`string`\>

***

### TypeNormalisedInputValidateEmailAddress()

```ts check=false reason="Generated API signature"
type TypeNormalisedInputValidateEmailAddress = (email, tenantId, userContext) => Promise<string | undefined> | string | undefined;
```

Defined in: [recipe/webauthn/types.ts:62](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L62)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `email` | `string` |
| `tenantId` | `string` |
| `userContext` | [`UserContext`](types#usercontext) |

#### Returns

`Promise`\<`string` \| `undefined`\> \| `string` \| `undefined`

***

### TypeWebauthnEmailDeliveryInput

```ts check=false reason="Generated API signature"
type TypeWebauthnEmailDeliveryInput = TypeWebauthnRecoverAccountEmailDeliveryInput;
```

Defined in: [recipe/webauthn/types.ts:677](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L677)

***

### TypeWebauthnRecoverAccountEmailDeliveryInput

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

Defined in: [recipe/webauthn/types.ts:666](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L666)

#### Properties

| Property | Type | Defined in |
| ------ | ------ | ------ |
| <a id="recoveraccountlink"></a> `recoverAccountLink` | `string` | [recipe/webauthn/types.ts:673](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L673) |
| <a id="tenantid"></a> `tenantId` | `string` | [recipe/webauthn/types.ts:674](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L674) |
| <a id="type-1"></a> `type` | `"RECOVER_ACCOUNT"` | [recipe/webauthn/types.ts:667](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L667) |
| <a id="user"></a> `user` | `object` | [recipe/webauthn/types.ts:668](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L668) |
| `user.email` | `string` | [recipe/webauthn/types.ts:671](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L671) |
| `user.id` | `string` | [recipe/webauthn/types.ts:669](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L669) |
| `user.recipeUserId` | [`RecipeUserId`](index#recipeuserid-1) \| `undefined` | [recipe/webauthn/types.ts:670](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L670) |

***

### UserVerification

```ts check=false reason="Generated API signature"
type UserVerification = "required" | "preferred" | "discouraged";
```

Defined in: [recipe/webauthn/types.ts:172](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/webauthn/types.ts#L172)
