# Send verification email

Sends a verification email using the specified method (OTP or magic link) to the specified email address for the selected user. <br><br>**Required permissions**: `apps:execute`, `[appId]:execute`, `auth:execute`.

Endpoint: POST /v1/users/{user_id}/email/verification/send
Security: ClientAccessToken

## Path parameters:

  - `user_id` (string, required)
    ID of the user

## Request fields (application/json):

  - `method` (string, required)
    Enum: "otp", "link"

  - `email` (string, required)
    Email to send the verification to
    Example: name@example.com

  - `redirect_uri` (string)
    URI where the email link will redirect to. Required when method is 'link'. The verification result will be included as a boolean query parameter called result (for example, https://www.example.com/verify?result=true). This URI must also be configured as an allowed redirect URI in the Admin Portal.
    Example: https://www.example.com/verify

  - `email_content` (object)
    Texts, logo and color to render email template with

  - `email_content.subject` (string, required)
    The subject of the email

  - `email_content.primaryColor` (string)
    Primary color of the email, specified as a Hex color
    Example: #6981FF

  - `email_content.base64logo` (string)
    Base64 encoded image for email logo. Must be raw base64 of a PNG, JPEG, GIF or WebP image, without a data URI prefix, such as 'data:image/png;base64,'. The string length must be less than or equal to 60000 characters.

  - `email_content.headerText` (string)
    The header of the email

  - `email_content.bodyText` (string)
    The body of the email

  - `email_content.linkText` (string)
    The text of the link button in the email

  - `email_content.infoText` (string)
    Any extra information in the email

  - `email_content.footerText` (string)
    The footer of the email
    Example: If you didn't request this email, you can safely ignore it.

  - `email_content.senderName` (string)
    Name of the sender of the email

  - `update_primary` (boolean)
    Allows the request to update the user's current verified primary email. Only applicable when method is 'link'. If the user profile already has a verified primary email, it will override it if `true` or add it as their secondary email if `false`

## Response 200 fields (application/json):

  - `message` (string, required)
    Example: Verification email sent

## Response 404 fields (application/json):

  - `message` (string, required)

  - `error_code` (number, required)
    Example: 404

## Response 409 fields (application/json):

  - `message` (string, required)
    Example: Email is already verified in the tenant

  - `error_code` (number, required)
    Example: 409

