Start Direct Auth passkey login.
curl --request POST \ --url https://auth.example.com/api/v1/auth/direct/passkey/login/start \ --header 'Content-Type: application/json' \ --data '{ "client_id": "client_123", "code_challenge": "rfc7636-code-challenge", "code_challenge_method": "S256", "channel": "browser" }'Creates WebAuthn authentication options for a Direct Auth passkey login request after validating client, channel, origin, and login hints.
Request Body required
Section titled “Request Body required ”object
Example
{ "client_id": "client_123", "code_challenge": "rfc7636-code-challenge", "code_challenge_method": "S256", "channel": "browser"}Responses
Section titled “ Responses ”Successful JSON response.
object
WebAuthn options generated by @simplewebauthn/server.
object
Example
{ "challenge_id": "challenge_123", "options": { "challenge": "challenge", "rpId": "auth.example.com", "allowCredentials": [], "userVerification": "required" }}Error response.
object
Optional browser-side WebAuthn Signal API hint. When unknown_credential is true, clients that just received a WebAuthn credential assertion may call PublicKeyCredential.signalUnknownCredential() for that credential ID.
object
Example generated
{ "error": "example", "error_description": "example", "message": "example", "webauthn_signal": { "unknown_credential": true }}Error response.
object
Optional browser-side WebAuthn Signal API hint. When unknown_credential is true, clients that just received a WebAuthn credential assertion may call PublicKeyCredential.signalUnknownCredential() for that credential ID.
object
Example generated
{ "error": "example", "error_description": "example", "message": "example", "webauthn_signal": { "unknown_credential": true }}Error response.
object
Optional browser-side WebAuthn Signal API hint. When unknown_credential is true, clients that just received a WebAuthn credential assertion may call PublicKeyCredential.signalUnknownCredential() for that credential ID.
object
Example generated
{ "error": "example", "error_description": "example", "message": "example", "webauthn_signal": { "unknown_credential": true }}