Paubox · AsyncAPI Specification
Paubox Email Webhooks
Version
View Spec
View on GitHub
EmailHIPAAHealthcareComplianceTransactional EmailEmail MarketingFormsSecurityEncryptionMessagingAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-26'
method: searched
source: https://docs.paubox.com/email-api/webhooks
description: >-
Paubox publishes a delivery-event webhook surface for the Email API but NO AsyncAPI
document. Events are documented in prose and tables only, so this artifact captures the
webhook catalog rather than a spec. Searched for an AsyncAPI at /asyncapi.yaml and
/asyncapi.json on every host and in the provider's own llms.txt index — none is
published, and none is referenced anywhere in the documentation.
asyncapi_published: false
asyncapi_probed:
- url: https://docs.paubox.com/llms.txt
status: 200
note: >-
Provider's own documentation index. Lists three OpenAPI specs under an "OpenAPI
Specs" heading and no AsyncAPI.
type: webhooks
docs: https://docs.paubox.com/email-api/webhooks
configuration_url: https://next.paubox.com/emailapi/webhooks
api: Paubox Email API
delivery:
transport: HTTPS POST to a consumer-owned URL
scope: organization
scope_warning: >-
Webhooks fire at the ORGANIZATION level, not per domain. Every domain in the
organization sends events to the one configured URL, with no per-domain filtering.
Consumers must inspect the payload's `from` field to route by domain.
content_type: application/json
events:
- name: Delivered
key: api_mail_log_delivered
trigger: Message is delivered.
- name: Temporary Failure
key: api_mail_log_temporary_failure
trigger: Soft bounce.
- name: Permanent Failure
key: api_mail_log_permanent_failure
trigger: Hard bounce.
- name: Opened
key: api_mail_log_opened
trigger: Message is opened.
event_count: 4
payload:
envelope:
event_name: string — one of the event keys above
payload: object — shape depends on the model that triggered the event
common_shape: API Mail Log
fields:
id: integer
subject: string
header_message_id: string
source_tracking_id: string — the same handle returned by sendMessage
outbound_queue_id: string
time: ISO 8601 timestamp with milliseconds
from: string
to: string
custom_headers: object — arbitrary custom headers set on the original message
reliability:
signature_verification: false
signature_note: >-
Provider states verbatim that webhook signature verification is not currently
supported, and recommends network-level controls instead — IP allowlisting or a shared
secret embedded in the URL path. A consumer therefore cannot cryptographically
establish that a payload came from Paubox.
retries: false
retry_note: >-
Provider states verbatim that Paubox does not currently retry failed webhook
deliveries. If the endpoint is unavailable when an event fires, that notification is
lost permanently.
recommended_fallback: >-
Poll getMessageReceipt (GET /message_receipt) with the sourceTrackingId when
guaranteed delivery tracking is required.
gaps:
- No AsyncAPI or other machine-readable event contract.
- No signature or HMAC verification.
- No retry, no dead-letter, no replay.
- No per-domain event filtering.
- No webhook events published for the Marketing API or the Forms API.
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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/paubox-email-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.