# Register mobile biometrics

Completes mobile biometrics registration in Transmit. Before calling this API, create an authenticator (cryptographic key-pair) on the end-user's device by invoking the client-side SDK provided by Transmit. This API must be called from the backend using the user access token returned upon successful authentication. If successful, the mobile biometrics authenticator will be registered for the user that corresponds to the authorization token.

Endpoint: POST /v1/auth/mobile-biometrics/register
Security: UserAccessToken

## Security:

  - `UserAccessToken` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `device_id` (string)
    The device associated with this registration.

  - `publicKey` (string, required)
    Public key generated by SDK registration call

  - `publicKeyId` (string, required)
    ID of the public key

  - `encryptionType` (string)
    Encryption type
    Enum: "rsa", "ec"

  - `challenge` (string)
    A string used to create attestation

  - `attestation_encoded_result` (string)
    Encoded attestation data

  - `os` (string, required)
    OS type

  - `displayName` (string)
    Display name for the crypto key

## Response 201:

  - `201` (unknown)
    The mobile biometrics authenticator has been successfully registered

## Response 400:

  - `400` (unknown)
    Invalid input. Returned when the authenticator limit has been reached, the public key type or encoding is invalid, or the attestation is invalid.

## Response 400 fields (application/json):

  - `message` (string)

  - `error_code` (number)
    Example: 400

  - `ts_error_code` (string)
    Enum: "system_invalid_input", "auth_max_authenticators_count_exceeded", "auth_invalid_attestation", "auth_invalid_key_type", "auth_invalid_key_encoding"

## Response 409:

  - `409` (unknown)
    A crypto key with this public key ID is already registered

## Response 409 fields (application/json):

  - `message` (string)

  - `error_code` (number)
    Example: 409

  - `ts_error_code` (string)
    Enum: "system_conflict"

## Response 400 examples:

  - `AuthenticatorLimitExceeded` (unknown)

  - `InvalidKeyType` (unknown)

  - `InvalidKeyEncoding` (unknown)

  - `InvalidAttestation` (unknown)

