Skip to main content
POST
/
v3
/
email-validations
/
estimate
Estimate email validation
curl --request POST \
  --url https://api.reply.io/v3/email-validations/estimate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contactIds": [
    2
  ],
  "acceptPartial": true
}
'
{
  "requestedCount": 123,
  "eligibleCount": 123,
  "creditsAvailable": 123,
  "creditsRequired": 123,
  "creditsSufficient": true,
  "canSchedule": true,
  "blockers": [
    1
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.reply.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Authenticate every request with a Bearer token. Pass your Reply API key in the Authorization header:

Authorization: Bearer <your-api-key>

Get your API key from the Reply dashboard: Settings → API Key.

Body

application/json

Request body shared by both /estimate and /schedule. Specifies the contacts to validate and an optional partial-credit acceptance flag.

contactIds
integer[]
required

Contact IDs to validate. Must be non-empty, contain at most 10000 items, and every value must be a positive integer.

Required array length: 1 - 10000 elements
Required range: x >= 1
acceptPartial
boolean | null

When true, the schedule call proceeds with min(eligibleCount, creditsAvailable) contacts even if available credits are below the eligible count. When false (default), insufficient credits become a NotEnoughCredits blocker on /estimate and a 400 on /schedule.

Response

Estimate computed successfully

Synchronous probe result returned by /v3/email-validations/estimate. Reports counts, credit sufficiency, and a list of blockers that prevent scheduling.

requestedCount
integer
read-only

Total number of contact IDs in the request body

eligibleCount
integer
read-only

Number of contacts the user can actually validate (filtered by team scope and validation-status)

creditsAvailable
integer
read-only

Email-validation credits currently available to the team

creditsRequired
integer
read-only

Credits that would be charged if the eligible contacts are scheduled in full

creditsSufficient
boolean
read-only

Whether creditsAvailable >= creditsRequired

canSchedule
boolean
read-only

Whether the request can be scheduled — equivalent to blockers.length == 0

blockers
enum<integer>[]
read-only

Reasons why scheduling is currently blocked. Empty when canSchedule is true.

Blocker codes returned by /v3/email-validations/estimate in the blockers array. The presence of any blocker (with acceptPartial = false) means the request cannot be scheduled.

ValueNameMeaning
1FeatureDisabledEmail validation feature is disabled for the team
2AddonNotPresentRequired addon is not on the subscription
3AlreadyRunningAnother email-validation job is already running for this user
4OutOfCreditsUser has no email-validation credits available
5NotEnoughCreditsAvailable credits are below the eligible-contact count (and acceptPartial = false)
6NoEligibleContactsNo accessible contacts in RequiresValidation state were found in the request
Available options:
1,
2,
3,
4,
5,
6