Simon Data · AsyncAPI Specification

Simon Data Webhooks

Version

View Spec View on GitHub Customer Data PlatformCDPMarketing AutomationAudience SegmentationEvent TrackingData IngestionPersonalizationMarketing TechnologyIdentity ResolutionCustomer ProfilesJourney OrchestrationSnowflakeAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: https://docs.simondata.com/reference/outbound-webhooks
spec_type: none
note: >-
  Simon Data publishes no AsyncAPI document. It does ship a real outbound event surface: the Webhook Channel Action,
  which pushes segment and event data from a Simon flow or journey to any HTTPS destination the customer configures.
  The payload is customer-defined — Simon does not publish a fixed event catalogue or a set of named event types, so
  there is nothing to model as channels and no message schemas to capture. What IS published, and captured here, is the
  delivery contract: batching, retry semantics, authentication handling and payload limits. Direction matters: Simon is
  the HTTP client here, the customer's endpoint is the server. Nothing about this surface is fabricated into an
  AsyncAPI document.
surface:
  kind: outbound-webhook
  direction: simon-to-customer
  configuration: Simon app — flow or journey Channel Action of type Webhook
  docs:
  - https://docs.simondata.com/reference/outbound-webhooks
  - https://docs.simondata.com/reference/webhook-best-practices-1
  - https://docs.simondata.com/reference/webhook-payload-examples
  - https://docs.simondata.com/reference/test-webhook-payloads-1
  event_catalog_published: false
  signing: none documented
  replay: none documented
delivery:
  methods: [POST, GET]
  encodings: [json, form-encoded]
  request_types: [single, batch]
  batch:
    shape: [object, array]
    example_batch_size: 500
    note: >-
      In batch mode the payload is a group of contacts, each a JSON object of the configured key/value pairs. With
      payload type Object the array is nested under a customer-chosen payload key; with payload type Array the batch is
      the top-level document.
  nested_objects:
    notation: dot
    applies_to: json-encoded parameters only
    example: 'outer_object.inner_object.value -> {"outer_object": {"inner_object": {"value": true}}}'
  limits:
  - {surface: POST body, limit: 2 MB (2,097,152 bytes)}
  - {surface: GET URL, limit: 2,048 characters}
retry:
  retried_status_codes: [429, '5xx']
  ignored_status_codes: ['30x', '4xx except 429']
  attempts: 3
  backoff: exponential
  oauth2_reauth_status_codes: [401, 403, 419]
  oauth2_behaviour: automatically re-authenticate then retry, three attempts with exponential backoff
  failure_logging: recorded as sync failures, visible in the Simon app
  ordering:
    guarantee: none
    note: Event processing happens as-is; ordering is a function of the segment and flow configuration.
authentication:
  note: >-
    Simon recommends HTTPS destinations and supports adding authorization to outbound requests, including OAuth2, where
    the destination endpoint supports it.
  docs: https://docs.simondata.com/reference/outbound-integration-authentication
inbound_alternative:
  note: >-
    For inbound real-time events the surface is the Event Ingestion API, not a webhook — see
    openapi/simon-data-event-ingestion-openapi.yml.