View .md

Passkeys endpoints (Client API: account)

8 FeatherPanel Client API: account endpoints from user/passkeys.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Last synced from FeatherPanel 15b94e9 on .

On this page

Defined in backend/app/routes/user/passkeys.php. Authentication used here: Public, Signed-in user. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

Endpoints

POST/api/user/auth/passkeys/status

Auth: PublicDefault rate limit: 30 / minute (user-auth)Route name: passkeys-statusController: PasskeyController::postStatusroute source
curl -X POST "$PANEL_URL/api/user/auth/passkeys/status" \
  -H "Accept: application/json"

POST/api/user/auth/passkeys/authentication/options

Auth: PublicDefault rate limit: 30 / minute (user-auth)Route name: passkeys-authentication-optionsController: PasskeyController::postAuthenticationOptionsroute source
curl -X POST "$PANEL_URL/api/user/auth/passkeys/authentication/options" \
  -H "Accept: application/json"

POST/api/user/auth/passkeys/authentication/verify

Auth: PublicDefault rate limit: 20 / minute (user-auth)Route name: passkeys-authentication-verifyController: PasskeyController::postAuthenticationVerifyroute source
curl -X POST "$PANEL_URL/api/user/auth/passkeys/authentication/verify" \
  -H "Accept: application/json"

Plugin events: featherpanel:auth:passkey:authentication:failed, featherpanel:auth:passkey:authentication:success

GET/api/user/passkeys

Auth: Signed-in userDefault rate limit: 60 / minute (user-session)Route name: passkeys-listController: PasskeyController::getListroute source
curl -X GET "$PANEL_URL/api/user/passkeys" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

POST/api/user/passkeys/registration/options

Auth: Signed-in userDefault rate limit: 15 / minute (user-session)Route name: passkeys-registration-optionsController: PasskeyController::postRegistrationOptionsroute source
curl -X POST "$PANEL_URL/api/user/passkeys/registration/options" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

POST/api/user/passkeys/registration/verify

Auth: Signed-in userDefault rate limit: 15 / minute (user-session)Route name: passkeys-registration-verifyController: PasskeyController::postRegistrationVerifyroute source
curl -X POST "$PANEL_URL/api/user/passkeys/registration/verify" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:auth:passkey:registered

DELETE/api/user/passkeys/{id}

Auth: Signed-in userDefault rate limit: 30 / minute (user-session)Route name: passkeys-deleteController: PasskeyController::deleteroute source
ParameterInTypeRequiredDescription
idpath-yes
curl -X DELETE "$PANEL_URL/api/user/passkeys/$ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:auth:passkey:deleted

PATCH/api/user/passkeys/{id}

Auth: Signed-in userDefault rate limit: 30 / minute (user-session)Route name: passkeys-patchController: PasskeyController::patchroute source
ParameterInTypeRequiredDescription
idpath-yes
curl -X PATCH "$PANEL_URL/api/user/passkeys/$ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:auth:passkey:updated