Skip to content

registerPasskey

POST
/api/v1/me/security/passkeys
curl --request POST \
--url https://example.com/api/v1/me/security/passkeys \
--header 'Content-Type: application/json' \
--header 'X-CSRF-Token: example' \
--header 'X-MFA-Challenge: example' \
--data '{ "id": "example", "rawId": "example", "type": "public-key", "authenticatorAttachment": "platform", "clientExtensionResults": {}, "response": { "clientDataJSON": "example", "attestationObject": "example", "transports": [ "example" ] } }'

The passkey is named from the authenticator’s AAGUID; no name is accepted here. Use the rename endpoint to change it.

X-CSRF-Token
required
string
X-MFA-Challenge
required
string
Media typeapplication/json

A PublicKeyCredential from navigator.credentials.create(), serialized with base64url binary fields. Parsed by the WebAuthn library rather than field by field.

object
id
required
string
rawId
required

Base64url

string
type
required
string
Allowed values: public-key
authenticatorAttachment
string
Allowed values: platform cross-platform
clientExtensionResults
object
response
required
object
clientDataJSON
required

Base64url

string
attestationObject
required

Base64url

string
transports
Array<string>

Passkey enrolled

The passkey could not be verified