Send Outbound Webhooks
Why You Would Use This
Section titled “Why You Would Use This”This is the core outbound operation: enqueue event payloads and let HookBridge handle delivery, retries, and observability.
Console Workflow
Section titled “Console Workflow”- Open Endpoints and create/select your outbound endpoint.
- Copy the endpoint ID (
ep_...) from the endpoint workflow. - Use that
endpoint_idin your API or SDK send request. - Open Messages to validate delivery status and inspect attempts.
The console currently helps you manage endpoints and monitor messages; actual outbound send requests are API/SDK-driven.
API Workflow
Section titled “API Workflow”API reference: Send webhook
curl -X POST https://send.hookbridge.io/v1/webhooks/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "endpoint_id": "YOUR_ENDPOINT_ID", "payload": { "event": "order.created", "order_id": "ord_123" }, "headers": { "X-Source": "billing-service" }, "idempotency_key": "order-123-created-v1" }'import { HookBridge } from '@hookbridge/sdk';
const client = new HookBridge({ apiKey: 'YOUR_API_KEY' });
const result = await client.send({ endpointId: 'YOUR_ENDPOINT_ID', payload: { event: 'order.created', order_id: 'ord_123' }, headers: { 'X-Source': 'billing-service' }, idempotencyKey: 'order-123-created-v1'});
console.log(result.messageId);from hookbridge import HookBridge
client = HookBridge(api_key="YOUR_API_KEY")
result = client.send( endpoint_id="YOUR_ENDPOINT_ID", payload={ "event": "order.created", "order_id": "ord_123", }, headers={"X-Source": "billing-service"}, idempotency_key="order-123-created-v1",)
print(result.message_id)client, _ := hookbridge.NewClient("YOUR_API_KEY")
result, _ := client.Send(ctx, hookbridge.SendRequest{ EndpointID: "YOUR_ENDPOINT_ID", Payload: map[string]any{ "event": "order.created", "order_id": "ord_123", }, Headers: map[string]string{"X-Source": "billing-service"}, IdempotencyKey: "order-123-created-v1",})
fmt.Println(result.MessageID)require "hookbridge"
client = HookBridge.new(api_key: "YOUR_API_KEY")
result = client.send( endpoint_id: "YOUR_ENDPOINT_ID", payload: { event: "order.created", order_id: "ord_123", }, headers: { "X-Source" => "billing-service" }, idempotency_key: "order-123-created-v1")
puts result.message_id<?php
use HookBridge\HookBridge;
$client = new HookBridge('YOUR_API_KEY');
$result = $client->send( endpointId: 'YOUR_ENDPOINT_ID', payload: [ 'event' => 'order.created', 'order_id' => 'ord_123', ], headers: ['X-Source' => 'billing-service'], idempotencyKey: 'order-123-created-v1',);
echo $result->messageId . PHP_EOL;- Use a consistent JSON shape for each event type so failures and replays are easier to compare.
- Use
idempotency_keyfor producer retries. - Use custom headers sparingly and avoid sensitive values.
- Track and persist
message_idfor downstream operations.
Personalize Examples
Enter your credentials to populate code examples throughout the docs.