CrowdTwist · AsyncAPI Specification

Crowdtwist Data Push Webhooks

Version

View Spec View on GitHub CompanyLoyaltyCustomer EngagementMarketingGamificationRewardsOracleCX MarketingLoyalty ProgramsPointsRetailCommerceSegmentationWebhookAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/DataPush.html
docs:
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/DataPush.html
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserActivity.html
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserRedemption.html
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/PushUserProfile-withTiersv2.html
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushPointsExpiration.htm
- https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserSegmentation.htm
api: Oracle CrowdTwist Loyalty and Engagement — Data Push
asyncapi_spec_published: false
asyncapi_note: >-
  Oracle publishes no AsyncAPI (or CloudEvents) document for this event surface. What follows is
  the webhook catalog transcribed from the Data Push documentation — nothing is generated.
summary: >-
  CrowdTwist pushes loyalty events outbound. "Live Data Push" POSTs JSON to a client-provided
  HTTPS endpoint in near real time; "Batch Data Push" writes a daily zipped CSV to SFTP. Feeds
  are enabled per client by the CrowdTwist support team — there is no self-service subscription
  API, no signing secret and no replay/verification endpoint.
delivery:
  transport: HTTPS POST (live) / SFTP zipped CSV (batch)
  content_type: application/json
  endpoint: client-provided, must begin with https://
  subscription_management: support-configured only; no public subscription API
  signature_verification: false
  signature_note: >-
    CrowdTwist does not sign outbound payloads. Authentication runs the other way — the client
    gives CrowdTwist a credential to present.
  authentication_options:
  - type: http-basic
    detail: Client-provided username:password, Base64 encoded.
    required: false
  - type: api-key-header
    header: x-api-key
    detail: Client-provided API key for access to the client's own endpoint.
    required: false
  retry:
    policy: five attempts per hour for up to eight hours
    on_exhaustion: request is written to an error log; support can export failed requests
    dead_letter_self_service: false
  ordering_guarantee: not documented
  at_least_once: implied by the retry policy; not stated
events:
- id: user_profile
  name: User Profile
  live: true
  batch: true
  description: Creations of new member profiles and updates to existing ones; includes Tiers v2 data.
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/PushUserProfile-withTiersv2.html
  batch_doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/BatchUserProfile.html
  batch_file: 2_<client_id>_PROFILE_YYYYMMDD.zip containing 2_<client_id>_USER_PROFILE_YYYYMMDD.csv
  notable: >-
    Optional third-party-ID synchronisation — CrowdTwist will read a `third_party_id` back out
    of the client endpoint's response and store it on the member. Oracle notes this option is
    only available when no authentication is configured on the client endpoint.
- id: user_activity
  name: User Activity
  live: true
  batch: true
  description: Activity completions, with points earned (negative for reward redemptions).
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserActivity.html
  batch_doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/BatchUserActivity.html
  batch_file: 2_<client_id>_USER_ACTIVITY_YYYYMMDD.zip
  key_fields:
  - userActivityId
  - activityId
  - activityName
  - points
  - notes
  - translatedTitle
  - translatedDescription
  multilanguage: >-
    translatedTitle/translatedDescription are null unless the member has a language preference
    and translations are loaded for the activity.
- id: user_redemption
  name: User Redemption
  live: true
  batch: true
  description: Reward redemption events.
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserRedemption.html
  batch_doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/BatchUserRedemption.html
  batch_file: 2_<client_id>_USER_REDEMPTION_YYYYMMDD.zip
  key_fields:
  - orderId
  - orderDate
  - rewardId
  - rewardGroupId
- id: points_expiration
  name: Points Expiration
  live: true
  batch: true
  description: >-
    Point expiration details for a member, sent every time they change. Live payload covers one
    trailing month, the current month and five forward months where expiring points exist.
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushPointsExpiration.htm
  batch_doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/BatchPushPointsExpiration.htm
  batch_file: 2_<client_id>_POINTS_EXPIRATION_YYYYMMDD.zip
  key_fields:
  - user_id
  - email_address
  - third_party_id
  - message_date
  - last_qualified_date
  - expiration_date
- id: user_segmentation
  name: User Segmentation
  live: true
  batch: false
  description: Fired whenever a member enters or exits a segment or segment group.
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/LivePushUserSegmentation.htm
  key_fields:
  - user_id
  - email_address
  - third_party_id
  - type
  - name
  - subscription_id
  - event
  - trigger
  - date_occurred
  enum:
    type:
    - segment
    - group
    event:
    - entered
    - exited
    trigger:
    - segment criteria
    - segment disabled
  sample: |
    {
      "user_id": 10,
      "email_address": "joe@example.com",
      "third_party_id": "user-123",
      "type": "segment",
      "name": "Users in New York",
      "subscription_id": 200,
      "event": "entered",
      "trigger": "segment criteria",
      "date_occurred": "2022-07-27T18:29:18Z"
    }
prebuilt_destinations:
- id: oracle_responsys
  name: Oracle Responsys Data Push
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/ResponsysDataPush.html
  feeds:
  - user_profile
  - user_activity
  - user_redemption
  - points_expiration
  auth: access token (server-to-server)
  throughput: throttled to 1 call/second, up to 200 records per call
  requires: the client's own Responsys instance
- id: salesforce_marketing_cloud
  name: Salesforce Marketing Cloud / ExactTarget Data Push
  doc: https://docs.oracle.com/en/cloud/saas/marketing/crowdtwist-develop/Developers/SFMCDataPush.html
  feeds:
  - user_profile
  - user_activity
  - user_redemption
  auth: OAuth 2.0 client credentials against the client's SFMC instance
  requires: the client's own SFMC/ET instance
gaps:
- No AsyncAPI, CloudEvents or JSON Schema document for any payload.
- No outbound payload signing — a receiving endpoint cannot verify the sender cryptographically.
- No self-service webhook subscription, test-fire or replay tooling; everything is support-configured.
- No event catalog endpoint; the five feeds are fixed.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/crowdtwist-data-push-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.