Skip to content

Register for logged-out user

Request

Complete WebAuthn credential registration for a new user (in Transmit) or a user that isn't currently logged in via Transmit. This API must be called from the backend using a client access token. If successful, the credentials will be registered for the user corresponding to the external user ID in the request. If no user is found, a new user will be created.

Security
ClientAccessToken
Bodyapplication/jsonrequired
webauthn_encoded_resultstringrequired

WebAuthn attestation data returned by the browser upon credential creation. If the credential was created using navigator.credentials.create(), call toJSON() on the returned PublicKeyCredential before sending it to the backend. Optionally include deviceInfo (publicKeyId, publicKey) in the same object to bind the device to the user, so it appears in the device_keys claim of the ID token after passkey login.

device_idstring

The device associated with this registration.

external_user_idstringrequired

A unique identifier in the tenant, which corresponds to an identifier of the user in your system.

user_emailstring

The user's primary email address

curl -i -X POST \
  https://api.sbx.transmitsecurity.io/cis/v1/auth/webauthn/external/register \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "webauthn_encoded_result": "string",
    "device_id": "string",
    "external_user_id": "string",
    "user_email": "string"
  }'

Responses

Registered credential details

Bodyapplication/json
webauthn_session_idstringrequired

WebAuthn session identifier

user_idstring

Transmit user ID, autogenerated upon user creation

webauthn_usernamestringrequired

Name of user account, as specified in the WebAuthn registration

credential_idstringrequired

WebAuthn credential ID

authenticator_attachmentstringrequired

The authenticators' attachment modalities. Cross-platform authenticator are external to the current device, such as a USB security key or a different device

Enum:"platform""cross-platform"
aaguidstring

The authenticator's AAGUID

external_user_idstringrequired

External User identifier

is_user_createdbooleanrequired

Indicates if this is a new user or not

Response
{ "webauthn_session_id": "string", "user_id": "string", "webauthn_username": "string", "credential_id": "string", "authenticator_attachment": "platform", "aaguid": "string", "external_user_id": "string", "is_user_created": true }