Amperity · AsyncAPI Specification

Amperity Webhooks

Version

View Spec View on GitHub CompanyEnterpriseCustomer Data PlatformCDPIdentity ResolutionCustomer 360MarketingDataProfilesAnalyticsMCPAgentsRetailIdentityAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: https://docs.amperity.com/operator/destination_webhook.md
docs:
- https://docs.amperity.com/operator/destination_webhook.html
- https://github.com/amperity/amperity-lambda-runner
checked: '2026-08-13'
spec_type: null
spec_note: >-
  Amperity publishes NO AsyncAPI document. Searched the docs site, the llms.txt index set, the
  github.com/amperity organization and /asyncapi.yaml on every host - nothing. Recorded as absent, not
  fabricated.
surface: webhook-destination
surface_note: >-
  Amperity's event surface is outbound-only and destination-shaped. There is no subscribe-to-events
  webhook catalog in the usual sense: an operator configures a WEBHOOK DESTINATION, and when a query's
  results are published Amperity writes an NDJSON file to S3, mints a presigned download URL, and then
  calls a customer-hosted AWS Lambda endpoint with a fixed JSON payload. The customer's function pulls
  the data and reports back to a public Amperity endpoint so the run can be tracked. That is a real,
  documented, contract-bearing callback - but it is one generic delivery event, not a catalog of typed
  business events (no customer.created, no segment.updated, no workflow.completed).
inbound_events:
  supported: false
  note: >-
    Inbound real-time ingestion is the Streaming API (POST JSON/XML up to 1 MB), which is a plain REST
    ingest endpoint, not an event/pub-sub contract. See apis.yml -> Amperity Streaming API.
webhooks:
- name: webhook-destination-delivery
  direction: outbound
  trigger: >-
    A campaign or query orchestration publishes results to a configured webhook destination.
  transport: 'HTTPS request to a customer-owned AWS Lambda endpoint outside the Amperity VPC'
  data_delivery: >-
    Results are serialized to NDJSON, published to Amazon S3, and exposed through a presigned URL. The
    payload carries the URL; it does not carry the rows.
  payload_fields:
  - {name: settings, description: 'Destination/data-template settings, as a JSON object'}
  - {name: label_name, description: The label associated with the delivery}
  - {name: access_token, description: Token used by the receiving function when calling back to Amperity}
  - {name: webhook_id, description: Identifier of the configured webhook destination}
  - {name: callback_url, description: Public Amperity endpoint the Lambda function reports progress and success to}
  - {name: data_url, description: Presigned URL from which the NDJSON result file is downloaded}
  payload_source: https://docs.amperity.com/operator/destination_webhook.html
  callback:
    required: true
    note: >-
      Amperity tracks the Lambda run and monitors it for success using the same tooling as its
      first-party integrations, so the receiving function MUST post regular updates back to
      callback_url. The webhook is a two-way handshake, not fire-and-forget.
  toolkit:
    name: amperity-lambda-runner
    url: https://github.com/amperity/amperity-lambda-runner
    language: python
    note: >-
      Amperity's open-source reference template, helper class and local-environment tooling for
      building the receiving function. Last pushed 2023-09-08.
  security_note: >-
    No signature, HMAC or timestamp verification scheme is documented for the inbound request to the
    customer's Lambda; the published contract is a bearer access_token inside the JSON body. Recorded
    as documented, not endorsed.
gaps:
- 'No AsyncAPI document.'
- 'No typed event catalog - one generic delivery callback covers the whole surface.'
- 'No documented signing/verification scheme for the outbound request.'
- 'No event schemas or examples beyond the six-field payload above.'

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/amperity-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.