Contacts

Bulk Import Contacts

Import contacts in bulk via JSON array or CSV file upload. Processing happens asynchronously - returns an upload ID for tracking.

JSON Body:

{
  "contacts": [
    { "email": "john@example.com", "first_name": "John" },
    { "email": "jane@example.com", "first_name": "Jane" }
  ],
  "TeamId": "uuid",
  "CampaignId": "uuid"
}

CSV Upload: Use multipart/form-data with:

  • contacts: CSV file
  • TeamId: Team UUID
  • CampaignId: Campaign UUID
  • mapping_fields: JSON mapping of CSV columns to contact fields
  • validate_emails: Optional. Set to true to run email verification (consumes credits). Default false.

Email Validation: Set validate_emails: true to queue verification for contacts in the import (consumes credits). Default is false to avoid surprise billing. Applies to both JSON and CSV uploads. For single-contact upsert (POST /contacts), already-validated profiles are not re-checked.

Limits:

  • Maximum 50,000 contacts per request
  • Subject to your organization's contact limit
post/contacts/bulk

Request body

TeamIdstring uuid required

Team ID

CampaignIdstring uuid required

Campaign ID

validate_emailsboolean

When true, queues email verification for contacts in the import (consumes credits). Default false to avoid surprise billing. Single-contact upsert via POST /contacts skips already-validated profiles.

Response

Upload accepted for processing

successboolean
request_idstring

Example response

{
  "success": true,
  "request_id": "req_abc123def456"
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.