clientContactId → email → phoneNumber1. Matched contacts are updated (PATCH semantics — only provided fields are changed). Contacts with no match are created as new records. If you need larger volumes of contacts, use asynchronous bulk endpoint.event or permId in bulk operations.207. Inspect the per-item status field to determine the outcome for each contact. The response includes all submitted contacts so that callers can store the Incomaker contactId for future targeted updates.curl --location --request PUT '/contacts/bulk' \
--header 'Authorization: Bearer JWT' \
--header 'Content-Type: application/json' \
--data-raw '{
"contacts": [
{
"clientContactId": "1245451254",
"firstName": "John",
"lastName": "Doe",
"email": "info@incomaker.com",
"phoneNumber1": "87639642",
"company": "Incomaker s.r.o.",
"lists": [
"Test",
"Test2"
]
},
{
"clientContactId": "1245451278",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@incomaker.com",
"phoneNumber1": "12121545",
"lists": [
"Test2"
]
}
]
}'{
"error": "Request exceeds maximum of 100 contacts per bulk operation."
}