Creates or updates multiple contacts in a single request. This endpoint processes up to 100 contacts
and returns detailed results for each operation, including successes and failures.
How It Works
Each contact in the batch is processed independently:
- If the contact exists (based on identifiers), it will be updated
- If the contact doesn't exist, it will be created
- Failed operations don't stop the processing of other contacts
Request Format
Send an array of contact objects (max 100) in the contacts field. Each contact object follows
the same structure as the single upsert endpoint.
Response Format
The response includes:
- Statistics: Total processed, created, updated, and failed counts
- Detailed Results: Array with status and details for each contact (by index)
Status Values
Each contact in the results can have one of these statuses:
created: Contact was successfully createdupdated: Contact was successfully updatedfailed: Operation failed (see error_code and error_message)
Error Handling
Errors for individual contacts don't affect other contacts in the batch. The response will include:
error_code: The specific error code (e.g., "contact_conflicting_identifiers")error_message: Human-readable error description
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Authentication credentials are missing or invalid
403You don't have permission to create/update contacts
422Validation error: contacts array is empty, exceeds 100 items, or contains invalid data