Encharge · AsyncAPI Specification
Encharge Webhooks
Version
View Spec
View on GitHub
Email MarketingMarketing AutomationTransactional EmailSoftware-as-a-ServiceBehavioral EmailCustomer EngagementCustomer DataWebhookAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: >-
openapi/_original/encharge-openapi.yml (Webhooks tag description +
/event-subscriptions operations), https://docs.encharge.io/advanced/activity-stream
spec_type: none
asyncapi_published: false
note: >-
Encharge publishes no AsyncAPI document. It does ship a real, self-service
event surface: an event-subscription (webhook) API on the REST host with a
documented event-name catalog, plus a paid "Activity Stream" firehose add-on.
This artifact captures that surface; `type: Webhooks` is wired, `AsyncAPI`
is not.
subscription_api:
create:
operation: CreateWebhook
method: POST
path: /event-subscriptions
spec: openapi/encharge-webhooks-api-openapi.yml
scope: account:write
request:
eventType: {required: true, description: Event to trigger on}
url: {required: true, description: URL to post the webhook to}
eventName: {required: false, nullable: true}
handlerData: {required: false}
service: {required: false}
operation: {required: false}
response: {status: 201, body: '{ subscription: { id } }'}
delete:
operation: DeleteWebhook
method: DELETE
path: /event-subscriptions/{id}
spec: openapi/encharge-webhooks-api-openapi.yml
scope: account:write
response: {status: 204}
transport: https-post
security: 'no signing secret, no signature header and no replay protection documented'
events:
- name: newUser
description: An enduser (person) is created in Encharge.
- name: updatedUser
description: >-
An enduser (person) is updated. `changedFields` in `properties` carries
the previous and new values.
- name: unsubscribedUser
description: A person unsubscribed from receiving emails.
- name: added-tag-{tag}
description: >-
A person was tagged. Subscribe to the literal event name, e.g.
`added-tag-signed-up`.
templated: true
- name: removed-tag-{tag}
description: A person was untagged, e.g. `removed-tag-demo`.
templated: true
- name: native-form-submitted-{formId}
description: An Encharge native form was submitted, e.g. `native-form-submitted-123`.
templated: true
- name: newObject-{objectType}
description: >-
A custom object or company was created, e.g. `newObject-company`.
templated: true
- name: updatedObject-{objectType}
description: >-
A custom object or company was updated, e.g. `updatedObject-invoice`.
templated: true
activity_stream:
docs: https://docs.encharge.io/advanced/activity-stream
availability: paid add-on — contact the account manager or support@encharge.io
delivery: HTTP POST to a customer-supplied endpoint
requirement: the receiving endpoint must return 2xx within 2 seconds
alternative_sink: 'a Segment.com HTTP Tracking API source may be supplied instead of your own endpoint'
timestamp: UNIX time in milliseconds on every event
event_types:
- {name: updatedUser, type: updatedUser}
- {name: newUser, type: newUser}
- {name: unsubscribedUser, type: unsubscribedUser}
- {name: 'added-tag-{tag}', type: tag}
- {name: 'removed-tag-{tag}', type: tag}
- {name: page-visited, type: page, note: requires Site Tracking}
- {name: form-submitted, note: requires Site Tracking; form data in `form` property}
- {name: sms-sent, type: sms}
note: >-
The published list continues beyond the entries captured here (email
open/click/send activity); only entries read verbatim from the docs page are
recorded.
inbound_events:
note: >-
The Ingest API (POST https://ingest.encharge.io/v1/) is the INBOUND half of
the event surface — arbitrary named events plus the special `alias` and
`group` event types. It is documented at
https://docs.encharge.io/getting-started/connecting-your-app-to-encharge/ingest-api
but has no OpenAPI of its own.
gaps:
- No AsyncAPI document.
- No webhook payload schemas in the OpenAPI (only the subscription request/response).
- No signature/HMAC verification, retry policy or delivery-log documentation.