Skip to main content
PUT
/
contacts
{
  "contacts": [
    {
      "crmId": "contact_8f3k2j",
      "email": "[email protected]",
      "firstName": "Sarah",
      "genesy_engagement_status": "Message Replied (2/3) - LINKEDIN",
      "genesy_sequence_status": "Replied"
    }
  ]
}
{
  "results": [
    {
      "crmId": "contact_8f3k2j",
      "success": true
    }
  ]
}

Your Implementation Required

This endpoint must be implemented on your server
Enginy calls this endpoint to update contacts that were previously synced. This includes regular field updates and engagement field updates from campaigns.

Request

contacts
array
required
Array of contact objects to update

Contact Object

crmId
string
required
Your CRM’s ID for this contact (from previous sync)
email
string
Updated email address
firstName
string
Updated first name
[engagement fields]
string
Campaign engagement fields (user-configurable names)
{
  "contacts": [
    {
      "crmId": "contact_8f3k2j",
      "email": "[email protected]",
      "firstName": "Sarah",
      "genesy_engagement_status": "Message Replied (2/3) - LINKEDIN",
      "genesy_sequence_status": "Replied"
    }
  ]
}

Response

results
array
required
Array of update results
results[].crmId
string
required
The contact’s CRM ID
results[].success
boolean
required
Whether the update succeeded
{
  "results": [
    {
      "crmId": "contact_8f3k2j",
      "success": true
    }
  ]
}

Engagement Fields

When contacts engage with campaigns, Enginy sends updates with fields like:
FieldExampleDescription
campaignEngagementStatusMessage Replied (2/3) - LINKEDINCurrent status
campaignSequenceStatusRepliedSequence status
campaignOpens5Email opens
campaignClicks2Link clicks
Field names are user-configurable. Your CRM should store any field, not just known ones.