Skip to main content

If you are using our backend SDK that is lesser than the following versions, please visit the older documentation link here.

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";

SuperTokens.init({
appInfo: {
apiDomain: "...",
appName: "...",
websiteDomain: "..."
},
recipeList: [
EmailVerification.init({
mode: "REQUIRED",
override: {
apis: (originalImplementation) => {
return {
...originalImplementation,
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;
}
}
}
}
}),
Session.init()
]
});
Looking for older versions of the documentation?
Which UI do you use?
Custom UI
Pre built UI