The typo knew where it was going
The didyoumean field suggests a full email address when the domain is a known typo, without trying to correct the name before the @.
Someone types tom.f@gmal.com into your signup form. The address has the right shape, so a syntax check passes it. A suggestion would be more useful than telling them the format is fine.
The didyoumean field on /email gives you that suggestion when the domain is a known typo. This response is shortened to the relevant fields:
GET /email/tom.f@gmal.com
{
"email": "tom.f@gmal.com",
"didyoumean": "tom.f@gmail.com",
"valid": true,
"domain": "gmal.com"
}
The email field contains the input after the usual trimming and lowercasing. didyoumean contains the complete suggested address, so a form can show it as a choice without assembling another string. It is part of the basic response and does not need ?deep=true.
The typo correction only changes the domain. If the input is tmo.f@gmal.com, the suggestion is tmo.f@gmail.com. The API has a known correction for gmal.com, but it has no basis for changing tmo.f to tom.f.
When there is no known correction, the field is null. When there is a suggestion, let the person confirm it. A likely typo is still their address to correct.