Skip to content

Email Analysis API (1)

This API provides services to analyze email addresses.

Download OpenAPI description
Languages
Servers
Mock server

https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/

Production

https://api.cdq.com/email-analysis/rest/

Operations
Operations

Request

List all email verification configurations.

Security
apiKey
Query
limitinteger(Limit)

Maximum number of configurations to return.

Example: limit=100
startAfterstring(StartAfter)

Used to retrieve the next page of results.

Example: startAfter=5712566172571652
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

Successful operation

Bodyapplication/json
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
nextStartAfterstring(NextStartAfter)

Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
valuesArray of objects(WorkspaceConfigurationSearchResult)
Response
application/json
{ "startAfter": "0", "nextStartAfter": "1", "total": 2, "values": [ {}, {} ] }

Request

Create a new email verification configuration.

Security
apiKey
Bodyapplication/json
namestring(ConfigurationName)required

Display name for a configuration.

Example: "Client configuration."
configurationobject(EmailVerificationConfigurationData)required

Represents an email verification configuration.

configuration.​disposableMailCheckerobject(DisposableMailCheckerConfiguration)required

Configuration for the disposable mail checker.

configuration.​disposableMailChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​disposableMailChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​disposableMailChecker.​disposableFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dnsblCheckerobject(DnsblCheckerConfiguration)required

Configuration for the DNSBL checker.

configuration.​dnsblChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​dnsblChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​dnsblChecker.​dnsblFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​freemailCheckerobject(FreemailCheckerConfiguration)required

Configuration for the freemail checker.

configuration.​freemailChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​freemailChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​freemailChecker.​freemailFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​roleCategoryCheckerobject(RoleCategoryCheckerConfiguration)required

Configuration for the role category checker.

configuration.​roleCategoryChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​whoisCheckerobject(WhoisCheckerConfiguration)required

Configuration for the WHOIS checker.

configuration.​whoisChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​whoisChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​whoisChecker.​newBornDomainFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​whoisChecker.​youngDomainFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​whoisChecker.​oldDomainFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​whoisChecker.​notPublicFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​whoisChecker.​youngDomainAgeThresholdinteger(DomainAgeThreshold)>= 0required

The threshold in days for age of a domain.

Example: 365
configuration.​whoisChecker.​oldDomainAgeThresholdinteger(DomainAgeThreshold)>= 0required

The threshold in days for age of a domain.

Example: 365
configuration.​sharedEmailCheckerobject(SharedEmailCheckerConfiguration)required

Configuration for the shared email checker.

configuration.​sharedEmailChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​sharedEmailChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​sharedEmailChecker.​sharedEmailAddressFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachCheckerobject(DataBreachCheckerConfiguration)required

Configuration for the data breach checker.

configuration.​dataBreachChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​dataBreachChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
configuration.​dataBreachChecker.​recentDataBreachFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​youngDataBreachFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​oldDataBreachFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​breachWithPasswordFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​breachWithMalwareFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​inflationaryBreachesFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​breachedDomainFactorWeightinteger(FactorWeight)[ 0 .. 100 ]required

The weight of the factor in the risk score calculation.

Example: 20
configuration.​dataBreachChecker.​youngDataBreachAgeThresholdinteger(DataBreachAgeThreshold)>= 0required

The threshold in days for age of a data breach.

Example: 365
configuration.​dataBreachChecker.​oldDataBreachAgeThresholdinteger(DataBreachAgeThreshold)>= 0required

The threshold in days for age of a data breach.

Example: 365
configuration.​dataBreachChecker.​inflationaryBreachesCountThresholdinteger(InflationaryBreachesCountThreshold)>= 0required

The threshold for the number of breaches to be considered inflationary.

Example: 10
configuration.​fraudCaseCheckerobject(FraudCaseCheckerConfiguration)required

Configuration for the fraud case checker.

configuration.​fraudCaseChecker.​isEnabledboolean(CheckerIsEnabled)required

Indicates whether the checker is enabled.

Example: true
configuration.​fraudCaseChecker.​isRiskCalculationEnabledboolean(CheckerIsRiskCalculationEnabled)required

Indicates whether the risk calculation for given checker is enabled.

Example: true
curl -i -X POST \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "My configuration",
    "configuration": {
      "disposableMailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "disposableFactorWeight": 100
      },
      "dnsblChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "dnsblFactorWeight": 50
      },
      "freemailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "freemailFactorWeight": 40
      },
      "roleCategoryChecker": {
        "isEnabled": true
      },
      "whoisChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "newBornDomainFactorWeight": 85,
        "youngDomainFactorWeight": 10,
        "oldDomainFactorWeight": 10,
        "notPublicFactorWeight": 65,
        "youngDomainAgeThreshold": 365,
        "oldDomainAgeThreshold": 1095
      },
      "sharedEmailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "sharedEmailAddressFactorWeight": 50
      },
      "dataBreachChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "recentDataBreachFactorWeight": 20,
        "youngDataBreachFactorWeight": 10,
        "oldDataBreachFactorWeight": 5,
        "breachWithPasswordFactorWeight": 20,
        "breachWithMalwareFactorWeight": 20,
        "inflationaryBreachesFactorWeight": 10,
        "breachedDomainFactorWeight": 5,
        "youngDataBreachAgeThreshold": 365,
        "oldDataBreachAgeThreshold": 1095,
        "inflationaryBreachesCountThreshold": 25
      },
      "fraudCaseChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": false
      }
    }
  }'

Responses

Configuration created successfully

Bodyapplication/json
idstring(ConfigurationId)

Uniquely identifies a configuration.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
namestring(ConfigurationName)

Display name for a configuration.

Example: "Client configuration."
versioninteger(ConfigurationVersionNumber)

Version number of the configuration.

Example: 1
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
transactionIdstring(TransactionId)

Id of the transaction, pass it in subsequent requests to make them part of the transaction

Example: "8e37da1e-ee9d-4ee0-b03d-24a1f89988f2"
Response
application/json
{ "name": "My configuration", "configuration": { "disposableMailChecker": {}, "dnsblChecker": {}, "freemailChecker": {}, "roleCategoryChecker": {}, "whoisChecker": {}, "sharedEmailChecker": {}, "dataBreachChecker": {}, "fraudCaseChecker": {} }, "version": 1, "id": "67e55a52826f904dcbf63743", "createdAt": "2025-03-27T14:01:54.259837898Z", "createdBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "defaultConfiguration": false, "relatedConfigurations": [] }

Request

Read email verification configuration by id.

Security
apiKey
Path
configurationIdstringrequired

ID of the configuration.

Example: c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

Successful operation

Bodyapplication/json
idstring(ConfigurationId)

Uniquely identifies a configuration.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
namestring(ConfigurationName)

Display name for a configuration.

Example: "Client configuration."
versioninteger(ConfigurationVersionNumber)

Version number of the configuration.

Example: 1
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
transactionIdstring(TransactionId)

Id of the transaction, pass it in subsequent requests to make them part of the transaction

Example: "8e37da1e-ee9d-4ee0-b03d-24a1f89988f2"
Response
application/json
{ "name": "My configuration", "configuration": { "disposableMailChecker": {}, "dnsblChecker": {}, "freemailChecker": {}, "roleCategoryChecker": {}, "whoisChecker": {}, "sharedEmailChecker": {}, "dataBreachChecker": {}, "fraudCaseChecker": {} }, "version": 1, "id": "67e55a52826f904dcbf63743", "createdAt": "2025-03-27T14:01:54.259Z", "createdBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "defaultConfiguration": false, "relatedConfigurations": [] }

Request

Update an existing email verification configuration.

Security
apiKey
Path
configurationIdstringrequired

ID of the configuration.

Example: c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
Bodyapplication/json
transactionIdstring(TransactionId)

Id of the transaction, pass it in subsequent requests to make them part of the transaction

Example: "8e37da1e-ee9d-4ee0-b03d-24a1f89988f2"
featuresOnArray of strings(TransactionFeaturesOn)

Features to be enabled. Do not use CREATE_TRANSACTION and COMMIT_TRANSACTION at the same time.

Items Enum ValueDescription
CREATE_TRANSACTION

Creates a new transaction and makes the current request a part of it. By default turned off.

COMMIT_TRANSACTION

Commit transaction. By default turned off.

Example: ["CREATE_TRANSACTION"]
namestring(ConfigurationName)

Display name for a configuration.

Example: "Client configuration."
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

curl -i -X PUT \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "My configuration",
    "configuration": {
      "disposableMailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "disposableFactorWeight": 100
      },
      "dnsblChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "dnsblFactorWeight": 50
      },
      "freemailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "freemailFactorWeight": 40
      },
      "roleCategoryChecker": {
        "isEnabled": true
      },
      "whoisChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "newBornDomainFactorWeight": 85,
        "youngDomainFactorWeight": 10,
        "oldDomainFactorWeight": 10,
        "notPublicFactorWeight": 65,
        "youngDomainAgeThreshold": 365,
        "oldDomainAgeThreshold": 1095
      },
      "sharedEmailChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "sharedEmailAddressFactorWeight": 50
      },
      "dataBreachChecker": {
        "isEnabled": true,
        "isRiskCalculationEnabled": true,
        "recentDataBreachFactorWeight": 20,
        "youngDataBreachFactorWeight": 10,
        "oldDataBreachFactorWeight": 5,
        "breachWithPasswordFactorWeight": 20,
        "breachWithMalwareFactorWeight": 20,
        "inflationaryBreachesFactorWeight": 10,
        "breachedDomainFactorWeight": 5,
        "youngDataBreachAgeThreshold": 365,
        "oldDataBreachAgeThreshold": 1095,
        "inflationaryBreachesCountThreshold": 25
      },
      "fraudCaseChecker": {
        "isEnabled": false,
        "isRiskCalculationEnabled": false
      }
    }
  }'

Responses

Configuration updated successful

Bodyapplication/json
idstring(ConfigurationId)

Uniquely identifies a configuration.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
namestring(ConfigurationName)

Display name for a configuration.

Example: "Client configuration."
versioninteger(ConfigurationVersionNumber)

Version number of the configuration.

Example: 1
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
transactionIdstring(TransactionId)

Id of the transaction, pass it in subsequent requests to make them part of the transaction

Example: "8e37da1e-ee9d-4ee0-b03d-24a1f89988f2"
Response
application/json
{ "name": "My configuration", "configuration": { "disposableMailChecker": {}, "dnsblChecker": {}, "freemailChecker": {}, "roleCategoryChecker": {}, "whoisChecker": {}, "sharedEmailChecker": {}, "dataBreachChecker": {}, "fraudCaseChecker": {} }, "version": 2, "id": "67e55a52826f904dcbf63743", "createdAt": "2025-03-27T14:01:54.259Z", "modifiedAt": "2025-03-27T14:24:05.998010503Z", "createdBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "defaultConfiguration": false, "relatedConfigurations": [] }

Request

Delete an email verification configuration.

Security
apiKey
Path
configurationIdstringrequired

ID of the configuration.

Example: c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
curl -i -X DELETE \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/json
idstring(ConfigurationId)

Uniquely identifies a configuration.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
namestring(ConfigurationName)

Display name for a configuration.

Example: "Client configuration."
versioninteger(ConfigurationVersionNumber)

Version number of the configuration.

Example: 1
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
transactionIdstring(TransactionId)

Id of the transaction, pass it in subsequent requests to make them part of the transaction

Example: "8e37da1e-ee9d-4ee0-b03d-24a1f89988f2"
Response
application/json
{ "name": "My configuration", "configuration": { "disposableMailChecker": {}, "dnsblChecker": {}, "freemailChecker": {}, "roleCategoryChecker": {}, "whoisChecker": {}, "sharedEmailChecker": {}, "dataBreachChecker": {}, "fraudCaseChecker": {} }, "version": 4, "id": "67e55a52826f904dcbf63743", "createdAt": "2025-03-27T14:01:54.259Z", "modifiedAt": "2025-03-27T14:29:20.097Z", "createdBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "defaultConfiguration": false, "relatedConfigurations": [] }

Read Email Verification Configuration Version

Request

Read a specific version of an email verification configuration by id and version number.

Security
apiKey
Path
configurationIdstringrequired

ID of the configuration.

Example: c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
versionintegerrequired

Version number of the configuration.

Example: 1
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/email-analysis-api/api-v1/configurations/emailverification/c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4/versions/1 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

Successful operation.

Bodyapplication/json
idstring

Unique identifier of the email verification configuration version. Not to be confused with the configuration ID.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
namestring

The name of the configuration

Example: "Configuration Name"
configurationIdstring(ConfigurationId)

Uniquely identifies a configuration.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
versioninteger(ConfigurationVersionNumber)

Version number of the configuration.

Example: 1
configurationobject(EmailVerificationConfigurationData)

Represents an email verification configuration.

createdAtstring

Date and time when the first version of the configuration was created (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
modifiedAtstring

Date and time when this version of the configuration was created (ISO 8601-compliant).

Example: "2025-09-01T14:16:48Z"
createdBystring

User who created the first version of the configuration.

Example: "69129435489347624"
modifiedBystring

User who created this version of the configuration.

Example: "76248934691294444"
Response
application/json
{ "id": "67ea96a80ab6e12699b0bec0", "name": "My configuration1", "configurationId": "67ea96a80ab6e12699b0bebf", "version": 1, "configuration": { "disposableMailChecker": {}, "dnsblChecker": {}, "freemailChecker": {}, "roleCategoryChecker": {}, "whoisChecker": {}, "sharedEmailChecker": {}, "dataBreachChecker": {}, "fraudCaseChecker": {} }, "createdAt": "2025-03-31T13:20:40.677Z", "createdBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "modifiedAt": "2025-03-31T13:20:40.677Z", "modifiedBy": "b3e96bd8-96a6-48f5-b378-610d177be354", "defaultConfiguration": false }