Create a pull endpoint
Configure verification and receive a unique ingestion URL for the provider.
Hookbridge accepts and stores incoming events. Your worker lists them, fetches the payloads it can process, and acknowledges completed work on its own schedule.
Pull endpoints fit batch jobs, restricted networks, and consumers that need explicit control over backpressure.
Configure verification and receive a unique ingestion URL for the provider.
Filter by status, event type, or time and paginate through available records.
Mark one event or a batch as delivered after your worker finishes processing.
The preview follows the existing Pull tab and its endpoint table. The endpoint values are examples.
Manage webhook delivery destinations
| Name | Ingestion URL | Status | Created | Actions |
|---|---|---|---|---|
| Batch orders | receive.hookbridge.ioUnique private ingestion URL | Active | Jul 12, 2026 | |
| Finance worker | receive.hookbridge.ioUnique private ingestion URL | Active | Jul 8, 2026 |
Each SDK exposes the pull event lifecycle directly, including cursor pagination and batch acknowledgment.
Open the API referencecurl "https://api.hookbridge.io/v1/pull-endpoints/$ENDPOINT_ID/events?status=stored" \
-H "Authorization: Bearer $HOOKBRIDGE_KEY"
# => {"data":[...],"meta":{"has_more":false,"next_cursor":""}}import { HookBridge } from '@hookbridge/sdk';
const hookbridge = new HookBridge({ apiKey: process.env.HOOKBRIDGE_KEY });
const events = await hookbridge.listPullEvents(endpointId, {
status: 'stored',
eventType: 'order.created'
});
await hookbridge.ackPullEvents(endpointId, eventIds);import os
from hookbridge import HookBridge
client = HookBridge(api_key=os.environ["HOOKBRIDGE_KEY"])
events = client.list_pull_events(
endpoint_id, status="stored", event_type="order.created"
)
client.ack_pull_events(endpoint_id, event_ids)import hookbridge "github.com/hookbridge/hookbridge-go/v2"
client, _ := hookbridge.NewClient(os.Getenv("HOOKBRIDGE_KEY"))
events, _ := client.ListPullEvents(ctx, endpointID,
&hookbridge.PullEventsFilter{Status: &stored},
)
_, _ = client.AckPullEvents(ctx, endpointID, eventIDs)require "hookbridge"
client = HookBridge.new(api_key: ENV["HOOKBRIDGE_KEY"])
events = client.list_pull_events(
endpoint_id,
status: "stored",
event_type: "order.created"
)
client.ack_pull_events(endpoint_id, event_ids)<?php
require 'vendor/autoload.php';
use HookBridge\HookBridge;
$client = new HookBridge(getenv('HOOKBRIDGE_KEY'));
$events = $client->listPullEvents($endpointId, 'stored', 'order.created');
$client->ackPullEvents($endpointId, $eventIds);Incoming requests wait in Hookbridge until a consumer retrieves them.
Move through large event sets without page numbers shifting under concurrent writes.
Request stored or delivered events by event type and time range.
Acknowledge up to 1,000 processed events in one idempotent request.
Delivered events remain readable until retention expires or they are deleted.
Workers consume events through outbound API calls without exposing a public server.
Use the API, an SDK, or the console. No credit card is required.