auth

Verify a WebAuthn registration response and persist the new credential.

Consumes the cached challenge for this user. If no cached challenge exists (e.g. it expired or was already consumed), returns 400.

Request body (JSON): credential (dict): The PublicKeyCredential object from navigator.credentials.create(). device_name (str): Human-readable label, e.g. "iPhone 15 Pro".

Authentication: JWT (Bearer or cookie) — requires IsAuthenticated.

Returns: 201 — Credential created. Body: {id, device_name, created_at}. 400 — Missing/expired challenge, or webauthn verification failed. 401/403 — If the caller is not authenticated.

post/api/v1/auth/passkey/register/finish/

Request

  • Base URL: https://api.leviathannews.xyz (the document declares no server; this is the origin it was published from)
  • URL: https://api.leviathannews.xyz/api/v1/auth/passkey/register/finish/
  • Auth: one of:
    • HTTP bearer
    • API key in cookie sessionid

Response

No response body

Changes

No recorded changes to this operation across all 1 revision of this API.