Webhook payloads
All webhooks share the following:
- All webhooks provide data in a JSON format
- All webhooks are sent using the HTTP
POSTmethod - All
hrefproperties link to resource details in GetResponse APIv3 - All IDs can be used with GetResponse APIv3
- Each payload contains the following fields:
type- event typeaccount- information about the accountevent- information about the event
Webhook headers
Each request will have the following headers:
http
Content-Type: application/json
X-Webhook-Type: contact_removed_link
X-Webhook-ID: 9b287712-80b9-4aba-ad5e-df31929dad75
X-Request-ID: cf3c768a-3465-4a6d-9ad9-ddae2705f526Content-Type- Information about content typeapplication/jsonX-Webhook-Type- Type of event. Same astypefield from the payloadX-Webhook-ID- UUID of webhook (unique per event, same for first request and retries)X-Request-ID- UUID of request (unique per request)
Webhook types
Message opened
Get notified every time a contact opens an email
Payload example
json
{
"type": "contact_opened_message",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"message": {
"resourceType": "autoresponders",
"resourceId": "cde345",
"name": "my_first_newsletter",
"subject": "My First Newsletter",
"href": "https://api.getresponse.com/v3/autoresponders/cde345"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_opened_messagecontact- Contact who opened the messagecampaignId- Campaign (list) IDname- Campaign (list) namehref- Link to campaign (list) detailscontactId- Contact IDemail- Contact email addressname- Name of the contact nullablecampaign- Campaign (List) a contact is inhref- Link to contact details
message- Opened email Newsletter, Autoresponder, or RSS Newsletter)resourceType- Type of the opened message (autoresponders,newsletters,rssNewsletters)resourceId- ID of the opened messagename- Name of the opened messagesubject- Subject of the opened messagehref- Link to message details
account- Information about the accountaccountId- Account ID
event- Information about the eventoccurredAt- Date of opening message in ISO8601/RFC3339 format
Link clicked
Get notified every time a contact clicks a link in an email
Payload example
json
{
"type": "contact_clicked_message_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"message": {
"resourceType": "autoresponders",
"resourceId": "cde345",
"name": "my_first_newsletter",
"subject": "My First Newsletter",
"href": "https://api.getresponse.com/v3/autoresponders/cde345"
},
"clickTrack": {
"clickTrackId": "xyz789",
"name": "Some link",
"url": "http://example.com",
"href": "https://api.getresponse.com/v3/click-tracks/xyz789"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_clicked_message_linkcontact- Contact who clicked on the message linkcontactId- Contact IDemail- Contact email addressname- Name of the contact nullablecampaign- Campaign (List) a contact is incampaignId- Campaign (list) IDname- Campaign (list) namehref- Link to campaign (list) details
href- Link to contact details
message- Message (Newsletter, Autoresponder, or RSS Newsletter) that contains the link clickedresourceType- Type of the message (autoresponders,newsletters,rssNewsletters)resourceId- ID of the messagename- Name of the messagesubject- Subject of the messagehref- Link to the message details
clickTrack- Clicked linkclickTrackId- ID of the linkname- Name of the linkurl- URL of the linkhref- Link to the details of the link clicked
account- Information about the accountaccountId- Account ID
eventoccurredAt- Date the link was clicked in ISO8601/RFC3339 format
SMS link clicked GetResponse MAX Add-on required
Get notified every time a contact clicks a link in a text message (SMS)
Payload example
json
{
"type": "contact_clicked_sms_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"phoneNumber": {
"customFieldId": "exdqz",
"href": "https://api.getresponse.com/v3/custom-fields/exdqz"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"sms": {
"smsId": "cde345",
"name": "my_first_sms",
"href": "https://api.getresponse.com/v3/sms/cde345"
},
"clickTrack": {
"clickTrackId": "xyz789",
"name": "Some link",
"url": "http://example.com",
"href": "https://api.getresponse.com/v3/click-tracks/xyz789"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_clicked_sms_linkcontact- Contact who clicked a link in an SMScontactId- Contact IDemail- Contact email addressname- Name of the contact nullablecampaign- Campaign (List) a contact is incampaignId- Campaign (list) IDname- Campaign (list) namehref- Link to campaign (list) details
phoneNumber- Contact phone number custom fieldcustomFieldId- Phone custom field IDhref- Link to phone custom field
href- Link to contact details
sms- SMS (SMS) that contains the link clickedsmsId- ID of the SMSname- Name of the SMShref- Link to the SMS details
clickTrack- Clicked linkclickTrackId- ID of the linkname- Name of the linkurl- URL of the linkhref- Link to the details of the link clicked
account- Information about the accountaccountId- Account ID
eventoccurredAt- Date the link was clicked in ISO8601/RFC3339 format
Contact subscribed
Get notified when a contact is added. This event is NOT triggered by imports.
Payload example
json
{
"type": "contact_added",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"ip": "1.2.3.4",
"origin": "api",
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_addedcontact- Contact addedcontactId- ID of added contactemail- Email address of added contactname- Name of added contact nullablecampaign- Campaign (List) the contact is added tocampaignId- ID of campaign (list) the contact is added toname- Name of campaign (list) the contact is added tohref- Link to campaign (list) details
ip- Contact's IP, if provided nullableorigin- How contact was addedhref- Link to contact details
account- Information about the account the contact is added toaccountId- Account ID
eventoccurredAt- Date of adding a contact to contact list in ISO8601/RFC3339 format
Contact copied
Get notified when a contact is copied.
Payload example
json
{
"type": "contact_copied",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": null,
"campaign": {
"campaignId": "bcd234",
"campaignName": "my new campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"sourceCampaign": {
"campaignId": "mnb321",
"campaignName": "my source campaign",
"href": "https://api.getresponse.com/v3/campaigns/mnb321"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_copiedcontact- Contact copiedcontactId- New contact IDemail- New contact email addressname- Field deprecated. Presence only for backwards compatibility purpose.campaign- Campaign (List) the contact is copied tocampaignId- ID of the campaign (list) the contact is copied tocampaignName- Name of the campaign (list) the contact is copied tohref- Link to the campaign (list) details
sourceCampaign- Campaign (List) the contact is copied fromcampaignId- ID of the campaign (list) the contact is copied fromcampaignName- Name of the campaign (list) the contact is copied fromhref- Link to the campaign (list) details
href- Link to contact details
account- Information about the account the contact is added toaccountId- Account ID
eventoccurredAt- Date on which the contact was copied in ISO8601/RFC3339 format
Contact moved
Get notified when a contact is moved.
Payload example
json
{
"type": "contact_moved",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": null,
"campaign": {
"campaignId": "bcd234",
"campaignName": "my new campaign name",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"sourceCampaign": {
"campaignId": "mnb321",
"campaignName": "my previous campaign name",
"href": "https://api.getresponse.com/v3/campaigns/mnb321"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_movedcontact- Contact movedcontactId- Contact IDemail- Contact email addressname- Field deprecated. Presence only for backwards compatibility purpose.campaign- Campaign (List) the contact is moved tocampaignId- ID of the campaign (list) the contact is moved tocampaignName- Name of the campaign (list) the contact is moved tohref- Link to the campaign (list) details
sourceCampaign- Campaign (List) the contact is moved fromcampaignId- ID of the campaign (list) the contact is moved fromcampaignName- Name of the campaign (list) the contact is moved fromhref- Link to the campaign (list) details
href- Link to contact details
account- Information about the account the contact is added toaccountId- Account ID
eventoccurredAt- Date on which the contact was moved in ISO8601/RFC3339 format
Contact unsubscribed
Get notified whenever a contact unsubscribes via unsubscribe link
Payload example
json
{
"type": "contact_removed_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": null,
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
}
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_removed_linkcontact- Unsubscribed contactcontactId- ID of the contactemail- Email address of the contactname- Field deprecated. Presence only for backwards compatibility purpose.campaign- Campaign (List) a contact unsubscribed fromcampaignId- ID of campaign (list) the contact unsubscribed fromname- Name of campaign (list) the contact unsubscribed fromhref- Link to campaign (list) details
account- Information about the accountaccountId- Account ID
eventoccurredAt- Date on which the contact unsubscribed in ISO8601/RFC3339 format
Bounced contact removed
Get notified when a bounced contact is removed from your list.
Payload example
json
{
"type": "contact_removed_bounce",
"contact": {
"contactId": "abc123",
"email": "example@example.com"
},
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_removed_bouncecontact- removed contactcontactId- ID of the contactemail- Contact's email address
campaign- Campaign (List) a contact unsubscribed fromcampaignId- ID of campaign (list) the contact unsubscribed fromname- Name of campaign (list) the contact unsubscribed fromhref- Link to campaign (list) details
account- Information about the accountaccountId- Account ID
eventoccurredAt- Date in ISO8601/RFC3339 format when the contact was removed in.
Custom field value changed
Get notified whenever an existing contact has a custom field assigned, unassigned, or updated.
Please remember that the webhook is not triggered by:
- Assigning a custom field when adding a new contact via any method.
- Updating custom fields values via contact imports.
- Updating custom field values via marketing automation.
Payload example
json
{
"type": "contact_custom_field_changed",
"contact": {
"contactId": "abc123",
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"customField": {
"customFieldId": "cfv123",
"href": "https://api.getresponse.com/v3/custom-fields/cfv123",
"action": "changed",
"addedValues": ["cat", "dog"],
"removedValues": ["rabbit"]
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_custom_field_changedcontact- contact detailscontactId- ID of the contacthref- Link to contact details
customField- Custom field detailscustomFieldId- Custom field IDhref- Link to custom field detailsaction- Change type. Possible changes are:added|changed|removedaddedValues- Array with new custom field valuesremovedValues- Array with removed custom field values
account- Information about the accountaccountId- Account ID
eventoccurredAt- Date on which the contact unsubscribed in ISO8601/RFC3339 format
Case study
- The multivalue custom field "pets" is assigned to a contact. The initial state of the custom field is: ["rabbit", "hamster"]
- A webhook with the following values will be triggered:
"action": "added", "addedValues": ["rabbit", "hamster"], "removedValues": [] - Your contact has changed the value for the custom field “pets”. The value "rabbit" is removed and two new values are provided: "cat" and "dog".
- A webhook with the following values will be triggered:
"action": "changed", "addedValues": ["cat", "dog"], "removedValues": ["rabbit"] - Your contact has removed the custom field "pets".
- A webhook is triggered without custom field values. It looks as follows:
"action": "removed", "addedValues": [], "removedValues": []
Contact's email changed
Get notified when a contact's email address has changed.
Payload example
json
{
"type": "contact_email_changed",
"contacts": [
{
"contactId": "abc123",
"email": "sample@email.com",
"href": "https://api.getresponse.com/v3/contacts/abc123",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
}
},
{
"contactId": "def456",
"email": "sample@email.com",
"href": "https://api.getresponse.com/v3/contacts/def456",
"campaign": {
"campaignId": "efg345",
"name": "my_second_campaign",
"href": "https://api.getresponse.com/v3/campaigns/efg345"
}
}
],
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2023-07-13T12:56:00+00:00"
}
}Description
type- Webhook event type -contact_email_changedcontacts- List of contacts whose emails were changedcontactId- Contact IDemail- New email addresshref- Go to Contact detailscampaign- Campaign (List)campaignId- Campaign (list) IDname- Campaign (list) namehref- Link to the campaign (list) details
account- Information about the account the contact is added toaccountId- Account ID
eventoccurredAt- Date on which the contact email address was changed in ISO8601/RFC3339 format
Contact import finished
Receive a notification when a contact import is complete, and receive information about the status (success/failure) of the import.
Payload example
json
{
"type": "contacts_import_finished",
"status": "OK",
"account": {
"accountId": "def456"
},
"import": {
"importId": "abc456",
"href": "https://api.getresponse.com/v3/imports/abc456"
}
}Contact rejected
Get notified when a contact is rejected. This event is NOT triggered by imports.
Payload example
json
{
"type": "contact_rejected",
"contact": {
"email": "example@gmail.com"
},
"account": {
"accountId": "def456"
},
"campaign": {
"campaignId": "efg345",
"campaignName": "my_second_campaign",
"href": "https://api.getresponse.com/v3/campaigns/efg345"
},
"event": {
"occurredAt": "2023-07-13T12:56:00+00:00"
},
"reason": "blocked_locally"
}Description
type- Webhook event type -contact_rejectedcontact- Information about the contactemail- Email of rejected contact
account- Information about the accountaccountId- Account ID
campaign- Campaign (List)campaignId- Campaign (list) IDcampaignName- Campaign (list) namehref- Link to the campaign (list) details
eventoccurredAt- Date on which the contact unsubscribed in ISO8601/RFC3339 format
reason- Reason why contact was rejected
Custom report's file status changed
Get notified when a custom report file is ready for download or in case an error occurs during report generation.
Payload example
json
{
"type":"custom_reports_file_status_changed",
"account":{
"accountId":"9IJAD"
},
"customReport":{
"customReportId":"v",
"href":"https://api.getresponse.com/v3/custom-reports/v",
"file":{
"customReportFileId":"SE",
"status":"ready"
}
},
"event":{
"occurredAt":"2024-08-13T14:34:58+00:00"
}
}Description
type- Webhook event type -custom_reports_file_status_changedaccount- Information about the accountaccountId- Account ID
customReport- Custom reportscustomReportId- Custom report IDhref- Link to the custom report detailsfile- Custom report filecustomReportFileId- Custom report file IDstatus- status of custom report file -[ready, error]
eventoccurredAt- The date (in ISO8601/RFC3339 format) when the status of report file status changed
