@maxim-kremenev,

Sorry to hear that you are still having problems.

But according to documentation, it is about to resend the email

I was a bit confused, there are two API calls that are related.

The first call should be PUT /api/user/verify-email?email={email}. The second should be POST /api/user/verify-email?verificationId={verificationId} takes the verificationId obtained in the first call and marks the user as email verified via API.

I spun up FusionAuth and was able to get this email to send by calling the API.

Let's see if we can retrace our steps to find out what may be happening. To start, this was the command I ran and the result.

curl --location --request PUT 'http://localhost:9011/api/user/verify-email?email=<my_email@my_email.com>' \ --header 'Authorization: <API KEY>' \ --header 'X-FusionAuth-TenantId: <TENANT_ID>'

should return

{ "verificationId": "SOME_REALLY_LONG_ALPHANUMERIC_STRING" }

status: 200

I find it interesting that you are getting a 200 OK, and no response body.

Have you verified that you have verify registration set up (toggled) on the Tenant and Application level (the application level is optional, depending on the behavior you want for your customers) as well as the ability to send a test email in the SMTP setting under the tenant?

if you have those three things configured, as well as an appropriately provisioned API key and correct tenant ID, the above cURL command has a high chance of working for you.

If this is still not working, any other recreate steps might be helpful in diagnosing.

Below are some over annotated screenshots that might help 🙂
tenant-orginal.png
application-original-orginal.png

I will let you know if I can think of anything else in the meantime.

Thanks,
Josh