curl -X POST https://zeplo.ai/api/contacts/import \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-F "file=@contacts.csv" \
-F "tags=imported,2026"
{
"success": true,
"message": "Import completed",
"data": {
"total": 100,
"imported": 95,
"skipped": 3,
"errors": 2,
"errorDetails": [
{ "row": 15, "phone": "invalid", "error": "Invalid phone number format" },
{ "row": 42, "phone": "", "error": "Phone number is required" }
]
}
}
Contacts
POST Import Contacts
Import contacts from CSV or Excel files.
POST
/
api
/
contacts
/
import
curl -X POST https://zeplo.ai/api/contacts/import \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-F "file=@contacts.csv" \
-F "tags=imported,2026"
{
"success": true,
"message": "Import completed",
"data": {
"total": 100,
"imported": 95,
"skipped": 3,
"errors": 2,
"errorDetails": [
{ "row": 15, "phone": "invalid", "error": "Invalid phone number format" },
{ "row": 42, "phone": "", "error": "Phone number is required" }
]
}
}
Import Contacts
POST /api/contacts/import
Import contacts in bulk via CSV or Excel file upload. This endpoint accepts multipart/form-data with a file upload.
Headers
string
required
Session cookie (login via POST /api/auth/login)
curl -X POST https://zeplo.ai/api/contacts/import \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-F "file=@contacts.csv" \
-F "tags=imported,2026"
Form fields
string
required
CSV or Excel (.xlsx) file.
integer
Add imported contacts to this group.
string
Comma-separated tags to apply.
Expected CSV columns
The CSV file should contain these columns (headers required):| Column | Required | Example |
|---|---|---|
name | No | John Doe |
phone | Yes | 919876543210 |
email | No | john@example.com |
Example CSV
name,phone,email
John Doe,919876543210,john@example.com
Jane Smith,919876543211,jane@example.com
Bob Wilson,919876543212,bob@example.com
{
"success": true,
"message": "Import completed",
"data": {
"total": 100,
"imported": 95,
"skipped": 3,
"errors": 2,
"errorDetails": [
{ "row": 15, "phone": "invalid", "error": "Invalid phone number format" },
{ "row": 42, "phone": "", "error": "Phone number is required" }
]
}
}
Requires
contacts:create permission and an active subscription. Maximum file size is 10MB.