Skip to main content

Passkey/FIDO2 API error reference

This document lists common error codes, descriptions, and recommended resolutions for Passkey/FIDO2 registration and authentication flows using IDaaS.

IDaaS API error codes​

Error CodeDescriptionResolutionHTTP Status
max_fido_tokensMaximum FIDO tokens reachedCheck the number of passkeys for the user.400
fido_register_no_challengeNo challenge found on server for registrationRetry the registration process.400
fido_token_invalid_nameInvalid passkey token nameEnsure passkey name is in correct format and within length limits.400
fido_token_invalid_name_htmlInvalid passkey token name (contains HTML)Remove HTML content from passkey name.400
fido_token_duplicate_nameDuplicate passkey nameProvide a unique passkey name.400
fido_no_originNo origin found in the registration request's clientDataJSONEnsure the clientDataJSON contains a valid origin field.400
fido_rpid_not_allowedRPID in the request is not allowedRPID should match the one the passkey is associated with.401
fido_android_origin_not_allowedAndroid origin is not allowed for the requested RPIDEnsure the Android app's SHA-256 certificate fingerprint is configured in the RPID allowlist for the matching relying party ID.400
fido_multiple_rpid_matchAndroid origin matches multiple RPIDs in the allowlistInclude the rpId request parameter to explicitly specify the intended relying party ID.400
fido_invalid_registration_responseInvalid registration dataVerify the registration input data.400
fido_direct_attestation_requiredDirect attestation is required but the authenticator provided no attestation statement. Synced passkeys (for example, Google Password Manager, Apple Passwords) do not support attestation.Use a hardware-bound authenticator that supports direct attestation, or change the attestation setting to INDIRECT or NONE.400
fido_attestation_cert_chain_requiredDirect attestation was provided but the certificate chain (x5c) is missingUse an authenticator that provides a full certificate chain during direct attestation.400
fido_authenticator_model_not_allowedThe authenticator's AAGUID is blocked or not on the allow listReview the authenticator trust mode and the allowed/blocked authenticator list in Passkey/FIDO2 settings.400
fido_backup_eligible_registration_not_allowedThe authenticator is a synced passkey but the Device-Bound Only policy blocks synced passkeys from registeringDisable Device-Bound Only in Passkey/FIDO2 settings, or use a device-bound authenticator.400
fido_unknown_authenticator_model_blockedThe authenticator's AAGUID was not found in the FIDO MDS and the unknown-authenticator policy is set to BLOCKChange the unknown authenticator policy to ALLOW in settings, or use a recognized authenticator model.400
fido_registration_server_errorAn internal server error occurred during passkey registrationRetry the registration. If the problem persists, contact your system administrator500
fido_backup_eligible_not_allowedThe token is a synced passkey but the Device-Bound Only policy is enabledDisable Device-Bound Only in Passkey/FIDO2 settings, or re-register with a device-bound authenticator.401
fido_multiple_metadata_statementsMultiple FIDO MDS metadata statements found for the same AAGUIDContact support: the FIDO Metadata Service (MDS) contains duplicate entries for this authenticator's AAGUID400
fido_none_activeNo passkey token registered/activeUser must have an active passkey before initiating authentication.403
fido_no_challengeNo challenge found for passkey authenticationInitiate authentication with challenge first400
fido_invalid_authentication_responseNo fidoResponse parameter found in the requestEnsure fidoResponse parameter is not null.400
fido_invalid_origin_paramRequest parameter 'origin' is invalidorigin parameter should be in valid format. for example, https://example.com400
fido_different_origin_rpid_request_param_not_allowedRequest parameters 'origin' and 'rpId' both can not be differentCheck Request parameters are same in Authenticate Challenge API request.400