10 Domains API: Check gTLD email verification status

This is a series of articles in which we are going to cover registrant contact verification.

This is a first article in a series in which we are going to search for email addresses and their respective statuses with regard to the aforementioned validation procedure. To get more information about our API in general, please use our documentation portal as your reference.

Due to ICANN requirements, Openprovider is obliged to verify the validity of each email address that is used in the owner contact details of any gTLD registration. gTLDs include all extensions that are not country codes (ccTLDs): common generics like .com, .net and .travel, and all new gTLDs like .guru, .berlin and .app.

Usually, this process is handled automatically depending on the actions that are being applied to a domain. More on this could be found in our Knowledge Base. However, if for some reason the process should be re-initiated, we have corresponding API methods for the very same purpose.

Searching for email's status

First, let's focus on retrieving the status of a validation request. In order to do so we are going to utilise List domain email verifications method.

NB If there are multiple domains linked to one e-mail address, multiple rows are returned.

All input parameters in this method are optional. Omitting all at once will result into a full list of email objects with their respective statuses.

Entering Geo Fence iconUse endpoint path below. Base URL is determined by both the target environment and API version.
GET {base_url}/customers/verifications/emails/domains
REQUEST VALUES
Name Type Description
domain string Optional.
handle string Optional.
email string Optional.
status custom Optional. Allowed values: failed / in progress / not verified / verified
description custom Reason of failure. Allowed values: expired / bounced
is_suspended boolean Optional.
limit integer default value: 100, maximum value: 1000
offset integer default value: 0

REQUEST EXAMPLE
curl -X GET \
'https://api.openprovider.eu/v1beta/customers/verifications/emails/domains?domain=test.com' \
-H 'Authorization: Bearer 2831a37fb8*******90b5aac822' \
-H 'Content-Type: application/json' \
RESPONSE EXAMPLE
{
"code": 0,
"desc": "",
"data": {
"results": [
{
"domain": "test.com",
"email": "john@example.com",
"handle": "AB123456-NL",
"status": "failed",
"description": "expired",
"is_suspended": true,
"expiration_date": "0000-00-00 00:00:00"
}
],
"total": 1
}
}
RESPONSE VALUES
Name Type Description
handle string
email string
status custom Allowed values: failed / in progress / not verified / verified
description custom Reason of failure. Allowed values: expired / bounced
domain string
is_suspended boolean
expiration_date integer populated if the verification is still "in progress"; indicating the date & time at which the e-mail address will be marked as "failed" and related domains will be suspended

In the following article we are going to see how one can restart the verification procedure if need be.


Revision #5
Created 2026-08-13 10:00:20 UTC by Sarath
Updated 2026-08-20 19:02:28 UTC by Sarath