# Start a transaction signing flow with TOTP

Start a transaction signing flow with TOTP. Receive a challenge to add to the authenticator app.

Endpoint: POST /v1/auth/totp/transaction/start
Security: ClientAccessToken

## Request fields (application/json):

  - `device_id` (string)
    Identifier of the device from which the authentication request originates

  - `approval_data` (object, required)
    Flat object that contains the data that your customer should approve for a transaction signing or custom approval flow. It can contain up to 10 keys, and only alphanumeric characters, underscores, hyphens, and periods. It will be returned as a claim in the ID token upon successful authentication.
    Example: {"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"}

  - `identifier_type` (string, required)
    Type of user identifier used for login

  - `identifier` (string, required)
    User identifier, which may correspond to the user's email, phone number, username, or user ID. The type of identifier should be specified as the `identifier_type`.

## Response 200 fields (application/json):

  - `approval_data` (object, required)
    Approval data object.
    Example: {"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"}

  - `challenge` (string, required)
    Totp transaction challenge
    Example: 123456

## Response 400 fields (application/json):

  - `error_code` (string)
    Enum: "system_invalid_input", "user_not_active", "user_not_found", "auth_not_found", "system_unexpected_error", "auth_totp_invalid_token"

  - `message` (string)

