Skip to main content

Doing operations post email verification

To perform any task post email verification like analytics, sending a user a welcome email or notifying an internal dashboard, you'll need to override the verifyEmailPOST API.

import SuperTokens from 'supertokens-node';
import EmailVerification from "supertokens-node/recipe/emailverification";
import Session from "supertokens-node/recipe/session";

appInfo: {
apiDomain: "...",
appName: "...",
websiteDomain: "..."
recipeList: [
mode: "REQUIRED",
override: {
apis: (originalImplementation) => {
return {
verifyEmailPOST: async function (input) {

if (originalImplementation.verifyEmailPOST === undefined) {
throw Error("Should never come here");

// First we call the original implementation
let response = await originalImplementation.verifyEmailPOST(input);

// Then we check if it was successfully completed
if (response.status === "OK") {
let { recipeUserId, email } = response.user;
// TODO: post email verification logic
return response;
Looking for older versions of the documentation?
Which UI do you use?
Custom UI
Pre built UI