Email Verification
1 endpoint · Core API
Thisn API enables businesses to authenticate email addresses without requiring users to click on verification links. This streamlined process enhances user experience and security while reducing friction in the registration process.
Benefits
- 1. Improved User Experience: Simplifies the registration process by eliminating the need for users to click on verification links, leading to higher completion rates.
- 2. Enhanced Security: Validates email addresses in real-time, reducing the risk of fraudulent activities and ensuring that only legitimate users are onboarded.
- 3. Time Efficiency: Automates email authentication procedures, saving time for both businesses and users during the registration process.
- 4. Seamless Integration: Easily integrates with existing systems and workflows, allowing businesses to implement email authentication seamlessly into their applications.
What you can do
API for verifying customer-provided email IDs during the registration process, ensuring accuracy and security in email authentication procedures.
Get Email Verification details
docs.signcare.io/core/api/email/email-verification/#post-api-v1-email-verify
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- emailstring (email)requiredRequired. Email address to verify. Must be a valid email address.minLength 1default support@signcare.io
- requestIdstringoptionalOptional. Your own unique ID to track this request. A UUID is generated if omitted.nullable
Sample request body
{
"email": "support@signcare.io"
}
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model containing email verification results.
2 fields
- metaobjectoptionalMetadata containing the parameters used in the verification request.
1 field
- paramsobjectoptionalParameters used for the email validation request.
1 field
- emailstringoptionalEmail address that was validated.nullable
- dataobjectoptionalDetailed email validation data including deliverability and server checks.
10 fields
- disposablebooleanoptionalIndicates whether the email is from a disposable email provider.
- webmailbooleanoptionalIndicates whether the email is from a webmail provider (e.g., Gmail, Yahoo).
- resultstringoptionalOverall validation result (e.g., deliverable, undeliverable).nullable
- acceptAllbooleanoptionalIndicates whether the mail server accepts all emails regardless of address validity.nullable
- smtpCheckbooleanoptionalIndicates whether the email passed SMTP verification.nullable
- regexpbooleanoptionalIndicates whether the email matches a valid email format (regex check).
- mxRecordsbooleanoptionalIndicates whether valid MX records exist for the email domain.
- emailstringoptionalEmail address that was validated.nullable
- mxServerbooleanoptionalIndicates whether the MX server is reachable.
- blockedbooleanoptionalIndicates whether the email address is blocked.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- isBillablebooleanoptionalWhether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{
"success": false,
"statusCode": 200,
"message": "XXXXX",
"data": {
"meta": {
"params": {
"email": "string"
}
},
"data": {
"disposable": false,
"webmail": false,
"result": "string",
"acceptAll": false,
"smtpCheck": false,
"regexp": false,
"mxRecords": false,
"email": "string",
"mxServer": false,
"blocked": false
}
},
"messages": [
"string"
],
"request_id": "string",
"isBillable": false
}
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 400
}
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 401
}
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500
Example
{
"data": {},
"messages": [
"string"
],
"request_id": "string",
"success": false,
"message": "XXXXX",
"isBillable": false,
"statusCode": 500
}
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/email/verify' \
-H 'X-API-KEY: YOUR_API_KEY' \
-H 'X-API-APP-ID: YOUR_APP_ID' \
-H 'Content-Type: application/json' \
-d '{
"email": "support@signcare.io"
}'