Impact Radius · AsyncAPI Specification

Impact Radius Advocate Webhooks

Version

View Spec View on GitHub CompanyPartnership ManagementAffiliate MarketingInfluencer MarketingReferral MarketingAttributionMartechAdvocateCreator EconomyE-CommerceAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
spec_type: Webhooks
source: https://integrations.impact.com/integration-guides/for-brands/advocate/advocate-api/api-webhooks-for-advocate-programs.md
docs: https://integrations.impact.com/integration-guides/for-brands/advocate/advocate-api/api-webhooks-for-advocate-programs.md
security_docs: https://integrations.impact.com/integration-guides/for-brands/advocate/advocate-api/webhook-security-for-advocate-programs.md
asyncapi_published: false
description: >-
  impact.com runs two separate, unrelated event surfaces. Advocate publishes a proper webhook
  subscription API with a named event catalog and a stated retry policy. The partnership APIs
  publish Event Notifications (also called postbacks), which are template-driven HTTP callbacks
  configured in the account UI rather than subscribed to over an API. Neither is described by an
  AsyncAPI document.
surfaces:
- name: Advocate webhooks
  host: https://app.referralsaasquatch.com/api/v1
  transport: http-post
  subscription: api-managed
  spec: openapi/impact-radius-brand-advocate-webhook-v13.yml
  operations: [createWebhook, listWebhooks, deleteWebhook, testWebhook]
  graphql_equivalent:
    queries: [webhooks, webhookSubscriptions]
    mutations: [upsertWebhookSubscription, deleteWebhookSubscription, testWebhookSubscription]
    ref: graphql/impact-radius-advocate-schema.graphql
  detail: >-
    Brands register endpoint URLs that receive HTTP POST callbacks carrying an event object
    whenever a subscribed event occurs. Multiple endpoints may subscribe; duplicate URLs collapse
    to a single subscription.
  events:
  - topic: user.created
    description: New user registration.
  - topic: user.reward.balance.changed
    description: Reward balance updates.
  - topic: coupon.created
    description: New referral code created.
  - topic: reward.created
    description: New reward issued.
  - topic: referral.started
    description: Referral connection established.
  - topic: referral.converted
    description: Referral conversion completed.
  - topic: export.created
    description: Data export queued.
  - topic: export.completed
    description: Export ready for download.
  - topic: test
    description: Subscription testing event, fired by testWebhook / testWebhookSubscription.
  retry_policy:
    interval: hourly
    max_attempts: 72
    window: ~72 hours
    ordering: not guaranteed
    timing: not guaranteed
  consumer_guidance: >-
    Because delivery is retried up to 72 times and is neither ordered nor timely, a receiver must
    be idempotent and must reconcile by resource id rather than by arrival order. There is no
    server-side idempotency key to lean on.
  verification:
    documented: true
    url: https://integrations.impact.com/integration-guides/for-brands/advocate/advocate-api/webhook-security-for-advocate-programs.md
- name: Partner Event Notifications
  aliases: [postbacks]
  host: partner-configured URL
  transport: http-post + http-get
  subscription: ui-configured
  spec: openapi/impact-radius-partner-eventnotifications-v15.yml
  detail: >-
    An inbound integration with no subscription endpoint: the partner configures a notification
    URL in their impact.com account and impact.com fires requests at it. Placeholder tokens
    ({CampaignId}, {ActionId}, {Status}, {Payout}) are substituted into either the URL (GET
    delivery) or the JSON body (POST delivery) at fire time, so the payload shape is chosen by the
    consumer rather than fixed by the provider. The published spec documents the request
    impact.com sends, not an endpoint you call — its servers[] entry is
    https://your-server.example.com by design.
  operations: [receiveEventNotificationPost, receiveEventNotificationGet]
  acknowledgement: Return 2xx. Non-2xx responses are retried by impact.com.
  events:
    note: >-
      No fixed topic catalog is published — events are described narratively as "actions tracked,
      clicks credited, status changes, and so on", with the actual set determined by the
      notification configuration in the account. Recorded as an honest absence rather than a
      guessed list.
- name: Brand postbacks
  spec: null
  docs:
  - https://integrations.impact.com/brand-api-reference/reference/webhooks.md
  - https://integrations.impact.com/brand-api-reference/reference/webhooks/enable-postbacks.md
  - https://integrations.impact.com/brand-api-reference/reference/webhooks/set-up-postbacks-for-partners.md
  detail: >-
    The Brand reference documents enabling postbacks and setting them up for partners. Same
    UI-configured, template-driven mechanism as the partner side.
notes: >-
  Provider documents webhooks but publishes no AsyncAPI document, so this is captured as a webhook
  catalog (type Webhooks). Upgraded from the 2026-07-19 pass with the partner Event Notifications
  surface, the brand postback pages and the GraphQL subscription-management equivalents; the
  Advocate event list and retry policy are unchanged and still verbatim from the provider.