Upload a CSV or TXT file containing email addresses for bulk verification.
Endpoint
POST https://api.kawaa.com/v1/verify/fileRequest
File verification is a two-step JSON flow. First request a presigned upload URL:
curl -X POST https://api.kawaa.com/v1/verify/file \
-H "X-Api-Key: ev_your_api_key" \
-H "Content-Type: application/json" \
-d '{"action": "get_upload_url", "filename": "emails.csv"}'Then PUT your file to the returned upload_url (valid for 15 minutes) and start processing with the returned file_key:
curl -X PUT "UPLOAD_URL" --data-binary @emails.csv
curl -X POST https://api.kawaa.com/v1/verify/file \
-H "X-Api-Key: ev_your_api_key" \
-H "Content-Type: application/json" \
-d '{"action": "process", "file_key": "FILE_KEY"}'Supported Formats
- CSV - Comma-separated values with optional headers
- TXT - One email per line
File Limits
| Plan | Max File Size | Max Emails |
|---|---|---|
| Free | 50 MB | 100 |
| Starter | 50 MB | 1,000 |
| Professional / Business | 50 MB | 5,000 |
| Enterprise | 50 MB | 10,000 |
Response
File uploads are processed asynchronously. You'll receive a job ID to check status:
{
"job_id": "9f8f6d2e-4c1b-4f6e-9a3b-2d1e5c7a8b90",
"status": "processing",
"total_submitted": 5000,
"unique_emails": 4988,
"credits_used": 4988,
"message": "File verification started. Use GET /v1/jobs/{job_id} to check status."
}