Skip to content

Authenticate transaction signing TOTP

Request

Authenticates a user using a TOTP code generated by the user's authenticator app with the challenge received from the transaction start. Once the TOTP is validated using the secret created upon registration and the TOTP method configuration, user tokens are returned.

Security
ClientAccessToken
Bodyapplication/jsonrequired
resourcestring

Resource URI the authentication request is attempting to access, which is reflected in the audience (aud claim) of the access token. This must be configured as resource for the application.

claimsobject

Used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the OIDC Standard. For supported claims and how to request custom claims, see the ID Token Reference.

Example:
{ "id_token": { "roles": null } }
org_idstring

Organization ID, used for member login in B2B scenarios

client_attributesobject

Client attributes

device_idstring, <= 80 characters

Identifier of the device from which the authentication request originates

session_idstring

Used to associate the authentication with an existing session (such as for MFA). If unspecified, a new session is created and the session ID is returned.

tokenstringrequired

TOTP code to validate

identifier_typestringrequired

Type of user identifier used for login

identifierstringrequired

Identifier of the user that the TOTP was generated for

curl -i -X POST \
  https://api.sbx.transmitsecurity.io/cis/v1/auth/totp/transaction/authenticate \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resource": "string",
    "claims": {
      "id_token": {
        "roles": null
      }
    },
    "org_id": "string",
    "client_attributes": {
      "user_agent": "string",
      "ip_address": "string"
    },
    "device_id": "string",
    "session_id": "string",
    "token": "string",
    "identifier_type": "string",
    "identifier": "string"
  }'

Responses

Returns user tokens

Bodyapplication/json
access_tokenstringrequired

User access token for accessing endpoints on behalf of the authenticated user.

id_tokenstring

ID token that identifies the user.

refresh_tokenstring

Refresh token used to refresh an expired access token.

token_typestringrequired

Bearer.

expires_innumberrequired

Expiration time of the access token in seconds.

Default:3600
session_idstringrequired

ID of the session in which the authentication occurs.

signing_artifactsApiPasskeySigningArtifactsDto (object) or ApiCryptoKeySigningArtifactsDto (object)
One of:

Cryptographic data required to independently verify a transaction approval outside Mosaic. Returned when approval_data is provided for a supported transaction-signing flow; fields vary by authenticator.

Response
{ "access_token": "string", "id_token": "string", "refresh_token": "string", "token_type": "string", "expires_in": 3600, "session_id": "string", "signing_artifacts": { "approval_data": {}, "public_key": "string", "signature": "string", "credential_id": "string", "webauthn_session_id": "string", "authenticator_data": "string", "client_data_json": "string", "raw_challenge": "string" } }