Get Passkey Sign-In Options
Looks up the guest by identifier (email or phone) and returns the WebAuthn PublicKeyCredentialRequestOptions plus a one-time session_token needed to complete sign-in via POST /api2/passkey/authentication.
Use this endpoint to check whether a guest has a registered passkey: a 200 response means a passkey is available — prompt the user for biometric verification. A 422 passkey_authentication_not_available response means the guest has no passkey — fall back to password, OTP, or social sign-in. This is the expected common path, not an error.
This endpoint is unauthenticated. client is sent as a query parameter.
For a full integration guide, see Passkey Authentication.
- Type: stringclientrequired
OAuth client ID provided by the business. Required to identify the client application for authentication. The OAuth application must have the Advance Auth scope enabled.
Identifier of the guest attempting to sign in.
- Type: stringidentifierrequired
The guest's email address or phone number (with country code) registered for this business. Used to resolve the account and look up its registered passkeys.
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://SERVER_NAME_GOES_HERE/api2/passkey/authentication_options?client=CLIENT_ID_GOES_HERE' \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"identifier": "test@example.com"
}'
{
"data": {
"challenge": "CHALLENGE_GOES_HERE",
"rpId": "loyalty.example.com",
"allowCredentials": [
{
"type": "public-key",
"id": "ID_GOES_HERE"
}
],
"session_token": "SESSION_TOKEN_GOES_HERE"
}
}