Skip to content

Bulk import contacts

Request

Import multiple contacts at once. Supports up to 10,000 contacts per request.

Features:

  • Bulk import up to 10,000 contacts per request
  • Choose conflict resolution strategy (skip or update)
  • Support for all contact fields including custom properties
  • Tags are automatically parsed and created
  • Returns detailed results (created, updated, skipped, errors)
  • Email validation included
  • Transaction-based for data integrity

Use Cases:

  • CSV import (after client-side parsing)
  • Migration from other platforms
  • Batch contact creation
  • Syncing contacts from external systems

Best Practices:

  • Always validate emails before sending
  • Use batches of 1,000 for optimal performance
  • Set on_conflict: "update" to overwrite existing contacts
  • Set on_conflict: "skip" to preserve existing data (default)
Security
ApiKeyAuth
Bodyapplication/jsonrequired
contactsArray of objects, [ 1 .. 10000 ] itemsrequired

Array of contact objects to import

on_conflictstring

How to handle existing contacts with the same email:

  • skip: Do not modify existing contacts (default)
  • update: Update existing contacts with new data
Default:"skip"
Enum:"skip""update"
curl -i -X POST \
  https://api.mailerlogic.net/api/v1/contacts/import \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "contacts": [
      {
        "email": "jane@example.com",
        "first_name": "Jane",
        "last_name": "Doe"
      },
      {
        "email": "john@example.com",
        "first_name": "John",
        "last_name": "Smith"
      }
    ],
    "on_conflict": "skip"
  }'

Responses

Import completed (may include partial failures)

Bodyapplication/json
successboolean
Example:true
dataobject
Response
{ "success": true, "data": { "created": 100, "updated": 0, "skipped": 0, "errors": [] } }