---
title: "List Passkeys"
method: GET
path: "/v1/auth/webauthn/credentials"
tags: ["auth"]
---

# List Passkeys

`GET /v1/auth/webauthn/credentials`

The caller's own passkeys. Never anybody else's, and never key material.

Deliberately *not* behind ``require_passkey_support``, and not filtered to
the current relying-party ID. A deployment that has changed or lost that ID
still holds the rows registered under the old one, and refusing to list them
would leave somebody looking at an empty page with no way to clean up and no
hint as to why. Each row carries ``is_usable`` instead, so an orphan is
visible, explained, and deletable.

## Response `200`

Successful Response

- WebAuthnCredentialsPublic
  - `count` integer, required
  - `data` WebAuthnCredentialPublic[], required
    - `backed_up` boolean, required
    - `created_at` string, date-time, required
    - `credential_id` string, required
    - `id` string, uuid, required
    - `is_usable` boolean, required
    - `last_used_at` string, date-time, nullable, required
    - `name` string, required
    - `rp_id` string, required
    - `transports` string[], required

## Changes

- **2026-08-24** `bd0edfaa8297` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mozilla-ai/apis/otari/changes/v1/auth/webauthn/credentials/get.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mozilla-ai/otari/revisions/7f178e92b56c/schema)
