Query pull event logs
const url = 'https://api.hookbridge.io/v1/pull-logs?status=stored&limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.hookbridge.io/v1/pull-logs?status=stored&limit=50' \ --header 'Authorization: Bearer <token>'Retrieve a paginated list of pull events across all pull endpoints in the project. Useful for monitoring and debugging event ingestion across endpoints.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Filter by specific pull endpoint
Filter by event status
Filter by exact event type match
Filter events received after this timestamp (ISO 8601)
Filter events received before this timestamp (ISO 8601)
Maximum number of results to return
Pagination cursor from previous response
Responses
Section titled “Responses”Pull logs retrieved successfully
object
object
Name of the pull endpoint (joined from endpoint record)
When the pull event was soft-deleted. Only present on deleted rows; omitted for live events.
Timing breakdown for a pull event lifecycle.
object
Server-side ingest processing time (validation, auth, S3 upload). Measured before the database write. Null for events ingested before timing was added.
Time from receipt to first customer fetch (fetched_at - received_at). Includes ingest_processing_ms server processing time; subtract it to get pure queue wait time. Null if not yet fetched.
Time from fetch to acknowledgment (delivered_at - fetched_at). Null if not yet delivered.
Total time from receipt to acknowledgment (delivered_at - received_at). Null if not yet delivered.
object
Unique identifier for this request (useful for support)
Example
{ "data": [ { "status": "stored", "deleted_at": "2026-04-09T00:22:45Z" } ], "meta": { "request_id": "req_xyz123" }}Invalid request
object
object
Machine-readable error code
Human-readable error message
object
Unique identifier for this request (useful for support)
Examples
Endpoint not found
{ "error": { "code": "ENDPOINT_NOT_FOUND", "message": "endpoint not found" }, "meta": { "request_id": "req_xyz123" }}Invalid endpoint ID format
{ "error": { "code": "INVALID_REQUEST", "message": "endpoint_id must be in format ep_xxx" }, "meta": { "request_id": "req_xyz123" }}Invalid payload
{ "error": { "code": "INVALID_REQUEST", "message": "payload must be valid JSON" }, "meta": { "request_id": "req_xyz123" }}Invalid headers
{ "error": { "code": "INVALID_HEADERS", "message": "header 'Host' is forbidden and cannot be overridden" }, "meta": { "request_id": "req_xyz123" }}Unauthorized - Invalid or missing API key
object
object
Machine-readable error code
Human-readable error message
object
Unique identifier for this request (useful for support)
Example
{ "error": { "code": "UNAUTHORIZED", "message": "Invalid or missing API key" }, "meta": { "request_id": "req_xyz123" }}Enter your credentials to populate code examples throughout the docs.