Derived AsyncAPI description of the four contact-lifecycle webhook events iContact documents at https://help.icontact.com/customers/s/article/Web-Hooks-iContact-API. NOT A PROVIDER ARTIFACT. iContact publishes no AsyncAPI. This document was derived by API Evangelist on 2026-08-13 from iContact's own published webhook reference and its contact and list field tables. Every event id, field name and payload shape below appears verbatim in iContact's documentation; nothing has been invented. Where iContact documents nothing — signature verification, retry policy, delivery guarantees, expected receiver response — this document is silent rather than filled in. Subscriptions are managed through the REST API, not through this document: POST /a/{accountId}/c/{clientFolderId}/webhooks with an eventId and a url.
View SpecView on GitHubEmail MarketingMarketing AutomationCampaignsContactsListSegmentsWebhookEmail DeliverabilitySMBAsyncAPIWebhooksEvents
Channels
contactEvents
iContact POSTs a JSON array of event objects to the registered url. One registration carries one eventId, so a receiver may be registered several times at different paths to separate event types.
Messages
✉
contactCreated
contact_created
When a new contact is created.
✉
contactUpdated
contact_updated
When an existing contact is modified.
✉
contactSubscribed
contact_subscribed
When a contact is subscribed to a list.
✉
contactUnsubscribed
contact_unsubscribed
When a contact is unsubscribed from a list.
Servers
https
subscriber
The consumer-supplied endpoint registered in the webhook `url` field. iContact POSTs event batches to it. The host is chosen by the subscriber; the value here is the placeholder used in iContact's own example.
asyncapi: 3.0.0
info:
title: iContact Webhooks
version: '2.2'
description: >-
Derived AsyncAPI description of the four contact-lifecycle webhook events
iContact documents at
https://help.icontact.com/customers/s/article/Web-Hooks-iContact-API.
NOT A PROVIDER ARTIFACT. iContact publishes no AsyncAPI. This document was
derived by API Evangelist on 2026-08-13 from iContact's own published
webhook reference and its contact and list field tables. Every event id,
field name and payload shape below appears verbatim in iContact's
documentation; nothing has been invented. Where iContact documents nothing
— signature verification, retry policy, delivery guarantees, expected
receiver response — this document is silent rather than filled in.
Subscriptions are managed through the REST API, not through this document:
POST /a/{accountId}/c/{clientFolderId}/webhooks with an eventId and a url.
contact:
name: iContact API Developer Portal
url: https://help.icontact.com/customers/s/article/API-Developer-Portal
externalDocs:
url: https://help.icontact.com/customers/s/article/Web-Hooks-iContact-API
defaultContentType: application/json
servers:
subscriber:
host: 'www.yourhost.com'
protocol: https
description: >-
The consumer-supplied endpoint registered in the webhook `url` field.
iContact POSTs event batches to it. The host is chosen by the subscriber;
the value here is the placeholder used in iContact's own example.
channels:
contactEvents:
address: '/'
title: Subscriber webhook endpoint
description: >-
iContact POSTs a JSON array of event objects to the registered url. One
registration carries one eventId, so a receiver may be registered several
times at different paths to separate event types.
messages:
contactCreated:
$ref: '#/components/messages/contactCreated'
contactUpdated:
$ref: '#/components/messages/contactUpdated'
contactSubscribed:
$ref: '#/components/messages/contactSubscribed'
contactUnsubscribed:
$ref: '#/components/messages/contactUnsubscribed'
operations:
receiveContactCreated:
action: receive
channel:
$ref: '#/channels/contactEvents'
summary: When a new contact is created.
messages:
- $ref: '#/channels/contactEvents/messages/contactCreated'
receiveContactUpdated:
action: receive
channel:
$ref: '#/channels/contactEvents'
summary: When an existing contact is modified.
messages:
- $ref: '#/channels/contactEvents/messages/contactUpdated'
receiveContactSubscribed:
action: receive
channel:
$ref: '#/channels/contactEvents'
summary: When a contact is subscribed to a list.
messages:
- $ref: '#/channels/contactEvents/messages/contactSubscribed'
receiveContactUnsubscribed:
action: receive
channel:
$ref: '#/channels/contactEvents'
summary: When a contact is unsubscribed from a list.
messages:
- $ref: '#/channels/contactEvents/messages/contactUnsubscribed'
components:
messages:
contactCreated:
name: contact_created
title: contact_created
summary: When a new contact is created.
contentType: application/json
payload:
$ref: '#/components/schemas/ContactEventBatch'
contactUpdated:
name: contact_updated
title: contact_updated
summary: When an existing contact is modified.
contentType: application/json
payload:
$ref: '#/components/schemas/ContactEventBatch'
contactSubscribed:
name: contact_subscribed
title: contact_subscribed
summary: When a contact is subscribed to a list.
contentType: application/json
payload:
$ref: '#/components/schemas/ContactListEventBatch'
contactUnsubscribed:
name: contact_unsubscribed
title: contact_unsubscribed
summary: When a contact is unsubscribed from a list.
contentType: application/json
payload:
$ref: '#/components/schemas/ContactListEventBatch'
schemas:
ContactEventBatch:
type: array
description: 'Documented payload shape: [{"contact": {contact_data}}]'
items:
type: object
required: [contact]
properties:
contact:
$ref: '#/components/schemas/Contact'
ContactListEventBatch:
type: array
description: >-
Documented payload shape:
[{"contact": {contact_data}, "list": {list_data}}]
items:
type: object
required: [contact, list]
properties:
contact:
$ref: '#/components/schemas/Contact'
list:
$ref: '#/components/schemas/List'
Contact:
type: object
description: >-
"The data format will be the same as the data format for the object on
the public API." Fields below are transcribed from the contacts
resource reference.
externalDocs:
url: https://help.icontact.com/customers/s/article/Contacts-iContact-API
properties:
contactId:
type: integer
description: Unique identifier for a single contact.
examples: [349]
email:
type: string
format: email
description: The contact's email address. Must be unique.
examples: ['smith@icontact.com']
prefix:
type: string
description: The contact's salutation.
examples: ['Miss']
firstName:
type: string
examples: ['Mary']
lastName:
type: string
examples: ['Smith']
suffix:
type: string
description: The contact's name qualifications.
examples: ['III']
street:
type: string
street2:
type: string
city:
type: string
examples: ['Durham']
state:
type: string
maxLength: 10
examples: ['NC']
postalCode:
type: string
examples: ['27713']
phone:
type: string
fax:
type: string
business:
type: string
description: The contact's business phone number.
status:
type: string
description: Subscription status of the contact.
enum: [normal, bounced, donotcontact, pending, invitable, deleted]
createDate:
type: string
description: >-
Date the contact was added to iContact. ISO 8601 per the API's
timestamp convention.
examples: ['2009-06-18 22:39:54']
bounceCount:
type: integer
description: Number of times emails sent to this contact have bounced.
examples: [3]
List:
type: object
description: Fields transcribed from the lists resource reference.
externalDocs:
url: https://help.icontact.com/customers/s/article/Lists-iContact-API
properties:
listId:
type: integer
description: Unique identifier for the list.
examples: [375628]
name:
type: string
description: The name for the list.
examples: ['My contacts']
description:
type: string
description: Describes the list. Not visible to contacts on the list.
publicname:
type: string
description: Publicly facing name for a list, visible to contacts.
examples: ['Bakery Newsletter']
emailOwnerOnChange:
type: integer
enum: [0, 1]
default: 1
description: >-
Whether the list owner is emailed when a subscriber is added or
removed.
x-provenance:
generated: '2026-08-13'
method: derived
source: https://help.icontact.com/customers/s/article/Web-Hooks-iContact-API
derived_by: API Evangelist enrichment pipeline
provider_published: false
x-undocumented:
note: >-
iContact documents none of the following, so this description asserts
none of them.
items:
- signature or shared-secret verification of the callback
- retry, backoff or dead-letter behaviour on receiver failure
- the status code a receiver is expected to return
- delivery or ordering guarantees
- an event id or timestamp inside the payload
- any message-level event (send, delivery, bounce, open, click, complaint)
- '"Do Not Contact" events, which iContact explicitly states are unavailable'