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 DeliverabilitySMBAsyncAPIEventsWebhooks
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'
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.