Leanplum · AsyncAPI Specification

Leanplum Postbacks Webhooks

Version

View Spec View on GitHub Mobile MarketingCustomer EngagementPush NotificationsMessagingA/B TestingAnalyticsCleverTapAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: >-
  https://docs.leanplum.com/reference/post_api-action-addpostback and the published
  OpenAPI at openapi/leanplum-api-openapi.json (/api?action=addPostback)
docs: https://docs.leanplum.com/reference/post_api-action-addpostback
description: >-
  Leanplum's outbound event surface is "postbacks": customer-registered URL
  templates that Leanplum POSTs to when a message or A/B test event occurs.
  Postbacks are managed through the REST API itself (addPostback / listPostbacks /
  deletePostback), all of which require the DATA EXPORT clientKey. Leanplum
  publishes no AsyncAPI document and no event schema registry — this file is the
  webhook catalog derived from the published postback reference, and the apis.yml
  pointer is `Webhooks`, not `AsyncAPI`.
asyncapi_spec_published: false
transport:
  protocol: https
  method: POST
  target: customer-supplied URL template (`postbackUrl`)
  payload_style: >-
    URL-template substitution, not a JSON body schema. Values are interpolated into
    the registered URL using the same curly-brace template syntax as Leanplum
    dashboard message templates.
management:
  register: addPostback
  list: listPostbacks
  delete: deletePostback
  key_class_required: data export clientKey
  max_postbacks_per_app: 3
delivery:
  timeout_seconds: 30
  retry_on: 5xx
  max_attempts: 10
  retry_schedule: exponential backoff starting at 1 hour, up to 10 hours
  on_exhaustion: data is lost
  verbatim: >-
    "If your app is unresponsive, Leanplum's request will timeout in 30 seconds. If
    the error code is 5xx, we will retry up to 9 more times with exponential
    backoff, starting from 1 hour, up to 10 hours. If all 10 times fail, the data is
    lost."
  signature_verification: none published
  note: >-
    No HMAC signature, shared secret, or signing header is documented, so a receiver
    cannot cryptographically verify a postback came from Leanplum. Authenticate by
    embedding a secret in the registered URL template if that matters to you.
postback_types:
- id: messageEvents
  description: Triggered by message events on the selected channels.
- id: abTestEvents
  description: Triggered by the A/B test impression/enter event.
channels:
- name: Push Notification
  events: [Sent, Open, Held Back]
- name: Email
  events: [Sent, Deferred, Delivered, Bounce, Open, Click, Marked as spam, Dropped, Unsubscribe, Held Back]
- name: In-app Message
  events_by_template:
    all_templates: [View, Held back]
    center_popup_confirm_interstitial: [Accept]
    rich_interstitial: [Select Button 1, Select Button 2]
  note: >-
    The published parameter description enumerates further per-template events
    (e.g. Satisfaction Survey); the ones recorded here are those read verbatim.
  default: If no `channels` value is supplied, all three channels trigger postbacks.
payload_values:
  all_events:
  - name: User ID
    description: The user ID that triggered the postback.
  - name: Device ID
    description: The device ID that triggered the postback.
  - name: Trigger time
    description: >-
      Time in milliseconds at which the postback was triggered. May be in the past
      if the triggering event occurred in the past.
  message_events:
  - name: Message ID
    description: The message ID that triggered the postback.
  - name: Message event
    description: The message event that triggered the postback.
related_streaming:
  - name: exportData
    description: >-
      Bulk raw-session export (submit/poll job), not an event stream. Data becomes
      available every 2 hours, only for complete sessions, retained 60 days, files
      deleted 24 hours after export, maximum 24 exports per day.
    docs: https://docs.leanplum.com/reference/get_api-action-exportdata

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/leanplum-postbacks-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 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.

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