# Reference

## Interfaces

- [AuthenticationAutofillActivateHandlers](/sdk-ref/authnsdk/interfaces/authenticationautofillactivatehandlers)
- [AutofillHandlers](/sdk-ref/authnsdk/interfaces/autofillhandlers)
- [CrossDeviceAuthenticationHandlers](/sdk-ref/authnsdk/interfaces/crossdeviceauthenticationhandlers)
- [CrossDeviceRegistrationHandlers](/sdk-ref/authnsdk/interfaces/crossdeviceregistrationhandlers)
- [WebauthnApprovalFlows](/sdk-ref/authnsdk/interfaces/webauthnapprovalflows)
- [WebauthnAuthenticationFlows](/sdk-ref/authnsdk/interfaces/webauthnauthenticationflows)
- [WebauthnAuthenticationOptions](/sdk-ref/authnsdk/interfaces/webauthnauthenticationoptions)
- [WebauthnCrossDeviceFlows](/sdk-ref/authnsdk/interfaces/webauthncrossdeviceflows)
- [WebauthnCrossDeviceRegistrationOptions](/sdk-ref/authnsdk/interfaces/webauthncrossdeviceregistrationoptions)
- [WebauthnRegistrationOptions](/sdk-ref/authnsdk/interfaces/webauthnregistrationoptions)
- [WebauthnApis](/sdk-ref/authnsdk/interfaces/webauthnapis)
- [CrossDeviceController](/sdk-ref/authnsdk/interfaces/crossdevicecontroller)
- [ApiCrossDeviceStatusResponse](/sdk-ref/authnsdk/interfaces/apicrossdevicestatusresponse)
- [AttachDeviceResult](/sdk-ref/authnsdk/interfaces/attachdeviceresult)
- [SdkError](/sdk-ref/authnsdk/interfaces/sdkerror)


## Enumerations

- [ErrorCode](/sdk-ref/authnsdk/enums/errorcode)
- [WebauthnCrossDeviceStatus](/sdk-ref/authnsdk/enums/webauthncrossdevicestatus)


## Variables

### authenticate

• `Const` **authenticate**: [`WebauthnAuthenticationFlows`](/sdk-ref/authnsdk/interfaces/webauthnauthenticationflows)

Returns the authentication flows for webauthn

### approve

• `Const` **approve**: [`WebauthnApprovalFlows`](/sdk-ref/authnsdk/interfaces/webauthnapprovalflows)

### crossDevice

• **crossDevice**: [`WebauthnCrossDeviceFlows`](/sdk-ref/authnsdk/interfaces/webauthncrossdeviceflows)

## Functions

### register

▸ **register**({`username`, `options?`}): `Promise`<`string`>

Invokes a WebAuthn credential registration for the specified user, including prompting the user for biometrics.
If registration is completed successfully, this call will return a promise that resolves to the credential result, which is an object encoded as a base64 string. This encoded result should then be passed to the relevant backend registration endpoint to complete the registration for either a [logged-in user](/openapi/user/backend-webauthn.openapi/other/webauthn-registration) or [logged-out user](/openapi/user/backend-webauthn.openapi/other/webauthn-registration-external).

If registration fails, an SdkError will be thrown.

**`Throws`**

[NotInitialized](/sdk-ref/authnsdk/enums/errorcode#notinitialized)

**`Throws`**

[RegistrationFailed](/sdk-ref/authnsdk/enums/errorcode#registrationfailed)

**`Throws`**

[RegistrationCanceled](/sdk-ref/authnsdk/enums/errorcode#registrationcanceled)

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `username` | `string` | WebAuthn username to register |
| `options?` | [`WebauthnRegistrationOptions`](/sdk-ref/authnsdk/interfaces/webauthnregistrationoptions) | Additional configuration for registration flow |


#### Returns

`Promise`<`string`>

### isPlatformAuthenticatorSupported

▸ **isPlatformAuthenticatorSupported**(): `Promise`<`undefined` | `boolean`>

#### Returns

`Promise`<`undefined` | `boolean`>

### isAutofillSupported

▸ **isAutofillSupported**(): `Promise`<`boolean`>

#### Returns

`Promise`<`boolean`>

### getDefaultPaths

▸ **getDefaultPaths**(): [`WebauthnApis`](/sdk-ref/authnsdk/interfaces/webauthnapis)

#### Returns

[`WebauthnApis`](/sdk-ref/authnsdk/interfaces/webauthnapis)