Create WebAuthn registration options.
curl --request POST \ --url https://auth.example.com/api/auth/passkeys/register/options \ --header 'Content-Type: application/json' \ --data '{ "email": "user@example.com", "name": "Example User" }'Creates a new account, so it works only where the tenant allows passkey sign-up (authentication-methods.passkey.signup_enabled, on unless the tenant turned it off); otherwise it is refused with 403 before any account is looked up or created, and with 503 when the tenant’s settings cannot be read.
Request Body required
Section titled “Request Body required ”Email is optional for discoverable Passkey registration.
object
object
Continuation token returned by a previous asynchronous account provisioning response.
Continuation value paired with provisioning_token for a retried Passkey request.
Example
{ "email": "user@example.com", "name": "Example User"}Responses
Section titled “ Responses ”Successful JSON response.
object
WebAuthn options generated by @simplewebauthn/server.
object
Example
{ "options": { "challenge": "challenge", "rp": { "name": "Authrim", "id": "auth.example.com" }, "user": { "id": "user_123", "name": "user@example.com", "displayName": "Example User" }, "pubKeyCredParams": [] }, "userId": "user_123"}Account creation is durable but its active Lookup route is not ready yet.
object
Present for passkey signup only. The Login UI sends this continuation value back with the provisioning token so a retried request reuses the same account candidate.
Example
{ "status": "provisioning", "status_endpoint": "/api/v1/auth/account-provisioning/status"}