Create Challenge
Mints the challenge and WebAuthn options a browser needs to run a ceremony against the authenticated user’s own passkeys. A registration challenge enrolls a new passkey; a deletion challenge is bound to the one passkey named by passkey_id and proves the user still holds it. The options are in wire snake_case: convert the keys to camelCase before passing them to the browser. Challenges are single-use and expire 5 minutes after they are issued, so send a fresh Idempotency-Key per ceremony — a replayed key returns the original challenge, which may already have expired. Requires a user session. A registration challenge also requires step-up verification, so the user completes it before the browser ceremony.
Authorizations
Only available to a signed-in whop.com session. API keys, access tokens, and OAuth tokens are not accepted.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Pins the request to a dated API version.
"2026-11-04-1"
Body
Response
challenge minted
The challenge to pass to the WebAuthn ceremony, base64url-encoded without padding. Also inside the options.
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The options for navigator.credentials.create() when challenge_type is registration, otherwise null. Convert the keys to camelCase before passing them to the browser.
The options for navigator.credentials.get() when challenge_type is deletion, otherwise null. Convert the keys to camelCase before passing them to the browser.

