Skip to content
LogoLogo

Finish registering a passkey

Finish registering a passkey

POST/api/v1/auth/passkeys/register/verify

Verifies the authenticator's attestation and stores the credential under the supplied name.

The account is taken from the session, never from the request: a body-supplied user would let a caller enrol a credential onto someone else's account. A ceremony started by a different account is refused.

Registering a passkey does not remove any other sign-in method. It also does not require the account to have one — but the account's last remaining method cannot later be deleted.

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Request Body

application/json
ceremony_tokenRequired
string·min 1·max 128
nameRequired
string·min 1·max 64

The user's own label for the device, shown in their passkey list. Surrounding whitespace is trimmed; control characters are rejected.

responseRequired
object

The PublicKeyCredential returned by navigator.credentials.create(), serialized as JSON in the form a WebAuthn client library produces.

Responses