Skip to main content
Webhook endpoint methods require SDK 2.0.0 or later. They are on PauboxWebhooksClient, not on the PauboxApiClient you use to send email.
PauboxWebhooksClient manages webhook endpoints through the Paubox webhooks service at https://api.paubox.com/v1/webhooks. It sends a scoped API key as Authorization: Bearer YOUR_API_KEY. The key’s scopes decide which events it can subscribe to.

Create the client

The client doesn’t read an environment variable; pass api_key explicitly, as a keyword argument. The first positional argument is base_url, so PauboxWebhooksClient("YOUR_API_KEY") treats the key as the base URL. Pass base_url to override the base URL. Every method raises ValueError before sending a request if no key is set.

Events

The SDK doesn’t check event names. The API returns 422 for an unknown event and 403 for an event the key isn’t scoped for. Email API keys created in the Paubox Dashboard are limited to a sender domain, so subscribe to inbound mail in the Paubox Dashboard under Settings > Webhooks. For payloads and signature verification, see Webhooks.

List webhook endpoints

Every method returns a Response; read the parsed JSON from to_dict. page and items are optional. page_info["count"] is the total number of endpoints, not the length of this page. Endpoints carrying an event the key isn’t scoped for are left out.

Create a webhook endpoint

target_url must be an https URL that doesn’t point at a private or internal address. Each endpoint has id (a UUID), target_url, status (active or disabled), events, created_at, and updated_at. signing_secret is returned only by this call; store it when you create the endpoint. To replace a lost secret, delete the endpoint and create a new one.

Get a webhook endpoint

Update a webhook endpoint

Pass any of target_url, status ("active" or "disabled"), and events. Only the arguments you pass are sent. events replaces the endpoint’s event list.

Delete a webhook endpoint

The API responds with 204 No Content, so to_dict is None.

Error handling

A non-2xx response raises requests.exceptions.HTTPError whose message is the API’s error text. Creating a second endpoint for the same target_url returns 422, and an ID that isn’t on your account returns 404. An ID that isn’t a UUID raises ValueError before any request is sent.