Bombora · AsyncAPI Specification
Bombora Webhooks
Version
View Spec
View on GitHub
Intent DataB2B IntentCompany SurgeAccount Based MarketingSales IntelligenceMarketing IntelligenceIdentity ResolutionAudience ActivationData CooperativeWebhookReference DataAdTechMarTechB2BAccount ListsDigital Audience BuilderOpenAPIAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: openapi/bombora-webhooks-api-openapi.yml (harvested verbatim from developer.bombora.com)
spec_type: none
asyncapi_published: false
asyncapi_note: >-
Bombora publishes no AsyncAPI document. The Apigee portal's own API-doc records report
asyncApiSpecContent: null and asyncApiSpecId: null for all six APIs, and no /asyncapi.yaml or
event-catalogue page exists on developer.bombora.com or bombora.com. The event surface below is
real and is captured from Bombora's published Webhooks API OpenAPI — it is NOT a fabricated
AsyncAPI.
surface: webhooks
transport: https-post
management_api:
name: Webhooks API
server: https://api.bombora.com/webhooks/v1
docs: https://developer.bombora.com/docs/webhooks-api/1/overview
spec: openapi/bombora-webhooks-api-openapi.yml
auth: 'Bearer JWT (Authorization header)'
delivery:
direction: outbound
destination: >-
Customer-registered HTTPS URL (Destination.address, format uri). Bombora POSTs the event body
to it.
custom_headers: >-
Arbitrary static headers may be attached per destination (Destination.headers) and per event
subscription (Event.headers) — e.g. X-Source: Bombora, X-Message-Type: signal-is-ready.
signature:
header: X-Bombora-Signature-256
algorithm: HMAC-SHA256
computed_over: the UTF-8 HTTP body
key: >-
The destination's auth.secret, set via PUT /destination/{destinationId}/auth. The secret is
write-only — GET /destination/{destinationId} explicitly excludes the auth object.
retries:
documented: false
note: >-
No retry schedule or backoff policy is published. Per-event delivery statistics are readable
instead: GET /destination/{destinationId}/event/{eventType} returns successful, failed,
lastError, lastErrorAction and lastErrorTimestamp.
events:
- name: SignalDefinitionCreated
source_api: Intent API
description: A signal definition was created.
evidence: openapi/bombora-webhooks-api-openapi.yml GET /destination/{destinationId}/events example
- name: SignalDefinitionUpdated
source_api: Intent API
description: A signal definition was updated.
evidence: openapi/bombora-webhooks-api-openapi.yml GET /destination/{destinationId}/events example
- name: SignalDefinitionDeleted
source_api: Intent API
description: A signal definition was deleted.
evidence: openapi/bombora-webhooks-api-openapi.yml GET /destination/{destinationId}/events example
- name: AccountListAccountsUpdated
source_api: Account List API
description: The account membership of an account list changed.
evidence: openapi/bombora-webhooks-api-openapi.yml GET /destination/{destinationId}/events example
event_count: 4
event_count_note: >-
These four are the event types Bombora publishes in its own response example. The eventType path
parameter is an open string with no enum, so the live subscribable list is whatever
GET /destination/{destinationId}/events returns for an authenticated destination — it may be
longer. No payload schema is published for any event; the specs describe only the subscription
management resources, not the delivered message bodies.
message_schemas_published: false
lifecycle:
subscribe: 'PUT /destination/{destinationId}/event/{eventType} with {enabled: true}'
unsubscribe: DELETE /destination/{destinationId}/event/{eventType}
list_subscribable: GET /destination/{destinationId}/events
destination_delete_rule: >-
DELETE /destination/{destinationId} fails with 409 unless every event on the destination is
first disabled.