Skip to content

Start registration

Request

Starts a registration of WebAuthn credentials for a specified user, returning a challenge to be signed by the client. If successful, the response contains a credential_creation_options field that should be passed to the WebAuthn navigator.credentials.create() API call. Note that some fields, such as user.id and challenge, are binary values represented as base64url-encoded strings. Before calling the WebAuthn API, parse the options using PublicKeyCredential.parseCreationOptionsFromJSON().

Bodyapplication/jsonrequired
client_idstringrequired

Your client ID.

usernamestring, [ 1 .. 64 ] charactersrequired

Account name for this Relying Party. This is used both for display purposes, as well as during recovery flows where the user is asked for the account name.

display_namestring, [ 1 .. 64 ] characters

Human-palatable name for the user account, only for display (max 64 characters). If not set, the username parameter will also act as the display name

timeoutnumber

The timeout in seconds for the registration modal. Must be between 30 and 600. Default is 300 seconds.

limit_single_credential_to_deviceboolean

Set to True in order to limit the creation of multiple credentials for the same account on a single authenticator. Default is False.

Default:false
curl -i -X POST \
  https://api.sbx.transmitsecurity.io/cis/v1/auth/webauthn/register/start \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": "string",
    "username": "string",
    "display_name": "string",
    "timeout": 0,
    "limit_single_credential_to_device": false
  }'

Responses

Active WebAuthn session info

Bodyapplication/json
webauthn_session_idstringrequired

WebAuthn session identifier

credential_creation_optionsobjectrequired
Response
{ "webauthn_session_id": "string", "credential_creation_options": { "attestation": "none", "authenticatorSelection": { … }, "extensions": { … }, "excludeCredentials": [ … ], "pubKeyCredParams": [ … ], "timeout": 0, "challenge": "string", "user": { … }, "rp": { … } } }