v1

latestOpenAPI 3.0.3AGPL-3.0-or-later2026-07-2687268192.4 KB
WebAuthn

Finalize WebAuthn registration

Finalize a registration with Webauthn using the WebAuthn API response to a navigator.credentials.create() call.

Note: The Webauthn API uses binary data represented by ArrayBuffers for certain input/output values. The Hanko API returns these values as base64url-encoded, so they must be converted to ArrayBuffers when passed to the Webauthn API. Similarly, Webauthn API output must be converted to base64url-encoded values when passed to the Hanko API (e.g. using the webauthn-json library).

post/webauthn/registration/finalize

Request body

idstring
rawIdstring
type'public-key'

Example request

{
  "id": "_18q6IjW09tiM4NSbsZjocUtGx00Muv5mN6LZCelCMDD...",
  "rawId": "_18q6IjW09tiM4NSbsZjocUtGx00Muv5mN6LZCelCMDD...",
  "type": "public-key",
  "response": {
    "clientDataJson": "eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdl...",
    "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjfSZYN...",
    "transports": [
      "internal"
    ]
  }
}

Response

Successful registration

credential_idstring base64

The ID of the created credential

user_idstring uuid4

Example response

{
  "user_id": "c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c"
}