Create WebAuthn registration options.
POST
/api/auth/passkeys/register/options
Code sample: Shell / cURL
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" }'Request Body required
Section titled “Request Body required ” Media type application/json
Email is optional for discoverable Passkey registration.
object
email
string format: email
name
string
custom_fields
object
key
additional properties
provisioning_token
Continuation token returned by a previous asynchronous account provisioning response.
string
resume_user_id
Continuation value paired with provisioning_token for a retried Passkey request.
string
Example
{ "email": "user@example.com", "name": "Example User"}Responses
Section titled “ Responses ”Successful JSON response.
Media type application/json
object
options
required
WebAuthn options generated by @simplewebauthn/server.
object
key
additional properties
userId
required
string
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.
Media type application/json
object
status
required
string
provisioning_token
required
string
status_endpoint
required
string
retry_after_ms
required
integer
expires_in
required
integer
resume_user_id
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.
string
key
additional properties
Example
{ "status": "provisioning", "status_endpoint": "/api/v1/auth/account-provisioning/status"}