Skip to content

Send email OTP

Request

Send a one-time passcode (OTP) by email to the given email address.

Required permissions: apps:execute, [appId]:execute, auth:execute.

Security
ClientAccessToken
Bodyapplication/jsonrequired
emailstringrequired

Email of the user

Example:"name@example.com"
redirect_uristringrequired

URI that will receive the authorization code. This is the server GET endpoint used to call the token endpoint, and should accept 'code' as a query parameter. This URI must also be configured as an allowed redirect URI in the Transmit Admin Portal.

Example:"https://www.example.com/verify"
create_new_userboolean

Indicates whether to create a new user at the end of the authentication flow if a user is not found for the provided email. If enabled, public signups must also be configured as allowed for the application.

Default:false
Example:false
resourcestring

URI of the resource the 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.

email_contentobject

Texts, logo and color to render email template with

require_mfaboolean

Require multi factor authentication for this authentication request.

Default:false
Example:true
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 } }
client_attributesobject

Client attributes

org_idstring

Organization ID, used for member login in B2B scenarios

approval_dataobject

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" }
curl -i -X POST \
  https://api.sbx.transmitsecurity.io/cis/v1/auth/otp/email \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "name@example.com",
    "redirect_uri": "https://www.example.com/verify",
    "create_new_user": false,
    "resource": "string",
    "email_content": {
      "subject": "string",
      "primaryColor": "#6981FF",
      "base64logo": "string",
      "headerText": "string",
      "bodyText": "string",
      "linkText": "string",
      "infoText": "string",
      "footerText": "If you didn'\''t request this email, you can safely ignore it.",
      "senderName": "string"
    },
    "require_mfa": true,
    "claims": {
      "id_token": {
        "roles": null
      }
    },
    "client_attributes": {
      "user_agent": "string",
      "ip_address": "string"
    },
    "org_id": "string",
    "approval_data": {
      "transaction_id": "eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT",
      "sum": "200"
    }
  }'

Responses

Bodyapplication/json
messagestringread-onlyrequired
Example:"OTP email sent"
approval_dataobjectread-only

Approval data object, if passed in the request.

Example:
{ "transaction_id": "eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT", "sum": "200" }
Response
{ "message": "OTP email sent", "approval_data": { "transaction_id": "eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT", "sum": "200" } }