Passkeys
WebAuthn registration and sign-in.
Delete a specific passkey
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/auth/passkey/delete-passkey" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{ "status": true}Generate authentication options for a passkey
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/auth/passkey/generate-authenticate-options"{ "challenge": "string", "rp": { "name": "string", "id": "string" }, "user": { "id": "string", "name": "string", "displayName": "string" }, "timeout": 0, "allowCredentials": [ { "id": "string", "type": "string", "transports": [ "string" ] } ], "userVerification": "string", "authenticatorSelection": { "authenticatorAttachment": "string", "requireResidentKey": true, "userVerification": "string" }, "extensions": {}}Generate registration options for a new passkey
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Query Parameters
Type of authenticator to use for registration. "platform" for device-specific authenticators, "cross-platform" for authenticators that can be used across devices.
Value in
- "platform"
- "cross-platform"
Optional custom name for the passkey. This can help identify the passkey when managing multiple credentials.
Optional context for passkey-first registration flows.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/auth/passkey/generate-register-options"{ "challenge": "string", "rp": { "name": "string", "id": "string" }, "user": { "id": "string", "name": "string", "displayName": "string" }, "pubKeyCredParams": [ { "type": "string", "alg": 0 } ], "timeout": 0, "excludeCredentials": [ { "id": "string", "type": "string", "transports": [ "string" ] } ], "authenticatorSelection": { "authenticatorAttachment": "string", "requireResidentKey": true, "userVerification": "string" }, "attestation": "string", "extensions": {}}List all passkeys for the authenticated user
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/auth/passkey/list-user-passkeys"[ { "id": "string", "name": "string", "publicKey": "string", "userId": "string", "credentialID": "string", "counter": 0, "deviceType": "string", "backedUp": true, "transports": "string", "createdAt": "2019-08-24T14:15:22Z", "aaguid": "string" }]Update a specific passkey's name
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/auth/passkey/update-passkey" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "name": "string" }'{ "passkey": { "id": "string", "name": "string", "publicKey": "string", "userId": "string", "credentialID": "string", "counter": 0, "deviceType": "string", "backedUp": true, "transports": "string", "createdAt": "2019-08-24T14:15:22Z", "aaguid": "string" }}Verify authentication of a passkey
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/auth/passkey/verify-authentication" \ -H "Content-Type: application/json" \ -d '{ "response": { "property1": null, "property2": null } }'{ "session": { "id": "string", "expiresAt": "2019-08-24T14:15:22Z", "token": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "ipAddress": "string", "userAgent": "string", "userId": "string", "activeOrganizationId": "string", "impersonatedBy": "string" }, "user": { "id": "string", "name": "string", "email": "string", "emailVerified": false, "image": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "role": "string", "banned": false, "banReason": "string", "banExpires": "2019-08-24T14:15:22Z", "twoFactorEnabled": false }}Verify registration of a new passkey
Authorization
bearerAuth Session token from the set-auth-token response header (bearer plugin)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/auth/passkey/verify-registration" \ -H "Content-Type: application/json" \ -d '{ "response": null }'{ "id": "string", "name": "string", "publicKey": "string", "userId": "string", "credentialID": "string", "counter": 0, "deviceType": "string", "backedUp": true, "transports": "string", "createdAt": "2019-08-24T14:15:22Z", "aaguid": "string", "session": { "id": "string", "expiresAt": "2019-08-24T14:15:22Z", "token": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "ipAddress": "string", "userAgent": "string", "userId": "string", "activeOrganizationId": "string", "impersonatedBy": "string" }, "user": { "id": "string", "name": "string", "email": "string", "emailVerified": false, "image": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "role": "string", "banned": false, "banReason": "string", "banExpires": "2019-08-24T14:15:22Z", "twoFactorEnabled": false }}