Skip to main content
Subscribe once and every customer, current and future, sends its events to your one URL, signed with one secret. Each event names the customer it’s about.
Partner accounts only. These calls need a partner key, without the Blujay-Workspace header.

Subscribe once

Use an admin key. Pick the events you want.
201 Created
Save signing_secret now; it’s shown only once. Verify each delivery with it. Full reference: Create a partner webhook subscription.

Tell customers apart

Every event carries workspace_id: the same customer ID you send in Blujay-Workspace. Route on it.
message.received (shortened)
The full payload for each event is on Webhook events.

Customer events

These are about the customer itself: workspace_id is your own partner workspace and data.customer_id names the customer. Every other event type is sent for every customer.

See and replay deliveries

One delivery log covers all your customers, newest first. Narrow it with customer_id or event_id.
curl
Replay any customer’s event, keeping its event_id:
curl

Good to know

  • Changes apply to every customer at once. Updating the URL or events, disabling, deleting, and rotating the secret all reach every customer together.
  • Rotating switches secrets at once. Blujay signs with the new secret as soon as POST .../rotate-secret returns it, so have your endpoint accept both until the new one is deployed.
  • Your own workspace’s subscriptions stay yours. Ones made with /v1/webhook-subscriptions never receive customers’ events.

Next steps

Webhook events

Every event type and its payload.

Embedded view

Show a customer’s texts inside your product.