POST
Set up a passkey (start)
Step 1 of the passkey path. Send the session_token from the SECURITY_SETUP_REQUIRED challenge. You get back publicKey creation options to pass to the browser’s navigator.credentials.create() (or the platform credential API on native). No bearer token — the user doesn’t have one yet. When the device returns a credential, continue to Set up a passkey (finish).

Headers

x-program-id
string
required

Identifies the program. Can also be sent as the programId query parameter.

Origin
string

The web origin of your app. Browsers send this automatically; it's used to pick the relying party.

Body

application/json
session_token
string
required
Example:

"3f1c2e8a-9b4d-4e6f-8a1b-2c3d4e5f6a7b"

friendly_name
string

Optional label for the passkey, e.g. "My phone".

Response

WebAuthn creation options

success
boolean
Example:

true

data
object