Skip to content
Esc
navigateopen⌘Jpreview
Dashboard

Register WebAuthn credential

Register a new credential for the user

POST/appid-{appId}/{tenantId}/recipe/webauthn/user/credential/register
Authorization
api-keyAPI key · headerrequired
The core service API token. If you are using a self-hosted core service and you have not generated a token, you can omit the header.
Path parameters
tenantIdstring
The tenant against which the request is made. If left empty, the default tenant will be used.
Header parameters
cdi-versionstring
X.Y of the X.Y.Z CDI version.
Request body
application/json
recipeUserIduserId
webauthnGeneratedOptionsIdstring
credentialobject
Credential returned by the browser
Responses
200The stored credential
One of:
object
statusstatusOK
Allowed:OK
webauthnCredentialIdstring
relyingPartyIdstring
relyingPartyNamestring
recipeUserIdstring
emailemail
object
statusstring
Allowed:INVALID_OPTIONS_ERRORINVALID_AUTHENTICATOR_ERRORINVALID_CREDENTIALS_ERROR
reasonstring
object
statusstring
Allowed:OPTIONS_NOT_FOUND_ERRORCREDENTIAL_ALREADY_EXISTS_ERRORUNKNOWN_USER_ID_ERROR
400error code 400
string
401error code 401
string
404error code 404
string
500error code 500
string
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST "/appid-{appId}/public/recipe/webauthn/user/credential/register" \
  -H "api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "recipeUserId": "fa7a0841-b533-4478-95533-0fde890c3483",
  "webauthnGeneratedOptionsId": "fa7a0841-b533-4478-9253-0fde890c576",
  "credential": {}
}'
Response
{
  "status": "OK",
  "webauthnCredentialId": "fa7a0841-b533-4478-9253-0fde890c576",
  "relyingPartyId": "example.com",
  "relyingPartyName": "Example",
  "recipeUserId": "fa7a0841-b533-4478-9253-0fde890c576",
  "email": "[email protected]"
}

API reference

API schema and response details