---
title: "Verify and persist a passkey for the authenticated user"
method: POST
path: "/auth/passkeys/register/verify"
tags: ["Auth"]
---

# Verify and persist a passkey for the authenticated user

`POST /auth/passkeys/register/verify`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/auth/passkeys/register/verify`
- Auth: HTTP bearer and API key in cookie `__Secure-median_refresh` and API key in cookie `__Secure-median_webauthn`

## Headers

- `X-Median-App-Surface` 'qa'

## Request body

- PasskeyRegistrationVerifyInput
  - `response` WebAuthnRegistrationCredential, required
    - `id` string, required
    - `rawId` string, required
    - `type` 'public-key', required
    - `authenticatorAttachment` 'platform' | 'cross-platform' | 'null', nullable
    - `clientExtensionResults` object
    - `response` object, required
      - `clientDataJSON` string, required
      - `attestationObject` string, required
      - `transports` string[]
      - `publicKeyAlgorithm` integer
      - `publicKey` string, nullable
      - `authenticatorData` string

## Response `200`

Passkey registered

- PasskeyRegistrationResponse
  - `success` true, required
  - `data` object, required
    - `verified` true, required
    - `credentialId` string, required

## Other responses

- `400`: Request body is not valid JSON
- `401`: The credential or one-shot ceremony is invalid, expired, or already used
- `404`: Onboarding v3 is disabled; the route is hidden
- `409`: Credential identifier is already registered
- `413`: Request body exceeds the passwordless route limit
- `415`: Request body charset or content encoding is unsupported
- `422`: Validation error
- `429`: Retry after the indicated number of seconds

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
