Skip to main content

Upload Bulk List

This guide explains how to validate large lists of email addresses using our bulk validation API endpoint.

Sample Data Template

Sample Data Format

We provide a sample email list template that shows the correct CSV format. Your CSV file should contain the following columns:

  • email (required)
  • name (optional)
  • company (optional)

API Reference

Endpoint

POST https://api.cliova.com/v1/webhooks/email-validations/bulk-emails?apiKey=${apiKey}&name=${listName}

Parameters

Query Parameters

ParameterRequiredTypeDescription
apiKeyYesstringYour API authentication key
nameYesstringUnique name for your email list

Request Body

ParameterRequiredTypeDescription
fileYesFileCSV file containing email addresses

Code Examples

emailValidator.js
const validateEmails = async (apiKey, listName, csvFile) => {
const formData = new FormData();
formData.append("file", csvFile);

const response = await fetch(
`https://api.cliova.com/v1/webhooks/email-validations/bulk-emails?apiKey=${apiKey}&name=${listName}`,
{ method: "POST", body: formData }
);

if (!response.ok) {
const errorData = await response.json();
throw new Error(errorData.error?.message || "Validation request failed");
}
return response.json();
};

// Usage Example
document
.querySelector('input[type="file"]')
.addEventListener("change", async (event) => {
try {
const result = await validateEmails(
"your_api_key",
"my_email_list",
event.target.files[0]
);
console.log("Validation started:", result);
} catch (error) {
console.error("Validation failed:", error);
}
});

Response Examples

{
"code": "SUCCESS",
"message": "Successfully performed operation.",
"payload": {
"id": "10a65f89-5de0-403a-a1ea-8ceea94a4ad9",
"name": "Email List",
"orgId": "8e69b5b1248716cf",
"totalEmails": 20000,
"totalValidEmails": 0,
"totalCreditsUsed": 20000,
"status": "IN PROGRESS",
"environment": "production",
"apiKeyId": "6510a65f-10a65f8-90a25h8",
"userId": "user_2sc3RYDvOtBEXNHtXH7Qm8jaFUW",
"updatedAt": "2025-02-12T12:43:13.087Z",
"createdAt": "2025-02-12T12:43:13.087Z",
"deletedAt": null
},
"requestId": "31ed2794168f7826"
}

Best Practices

File Preparation

  • Follow the example template format exactly
  • Remove duplicate emails

Error Handling

  • Implement proper error handling
  • Log failed requests
  • Use exponential backoff for retries

Security

  • Never hardcode API keys
  • Use environment variables
  • Validate file contents before upload
Rate Limits

Be mindful of our rate limits:

  • Maximum 10,00000 emails per file

Need Help?

Support Resources