Batch delete pull events by ID
const url = 'https://api.hookbridge.io/v1/pull-endpoints/01935abc-def0-7123-4567-890abcdef012/events/delete-batch';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"message_ids":["01935abc-def0-7123-4567-890abcdef012","01935abc-def0-7123-4567-890abcdef013"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.hookbridge.io/v1/pull-endpoints/01935abc-def0-7123-4567-890abcdef012/events/delete-batch \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "message_ids": [ "01935abc-def0-7123-4567-890abcdef012", "01935abc-def0-7123-4567-890abcdef013" ] }'Soft-delete a batch of pull events by their IDs.
Returns per-ID outcomes: deleted, already_deleted, or not_found.
Maximum 100 IDs per request.
Note: the request body uses message_ids (shared schema across all
message families). In this context, each entry is a pull event ID.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Pull endpoint identifier (UUIDv7)
Example
01935abc-def0-7123-4567-890abcdef012Request Bodyrequired
Section titled “Request Bodyrequired”object
List of message IDs to delete (max 100)
Example
{ "message_ids": [ "01935abc-def0-7123-4567-890abcdef012", "01935abc-def0-7123-4567-890abcdef013" ]}Responses
Section titled “Responses”Batch delete results
object
object
object
The event ID
The outcome for this event
Timestamp when the event was deleted (present for deleted and already_deleted outcomes)
Number of events newly deleted
Number of events that were already deleted
Number of event IDs not found
object
Unique identifier for this request (useful for support)
Example
{ "data": { "results": [ { "event_id": "01935abc-def0-7123-4567-890abcdef012", "outcome": "deleted", "deleted_at": "2026-04-05T14:23:11.123Z" }, { "event_id": "01935abc-def0-7123-4567-890abcdef013", "outcome": "not_found" } ], "deleted_count": 1, "already_deleted_count": 0, "not_found_count": 1 }, "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" }}Resource not found
object
object
Machine-readable error code
Human-readable error message
object
Unique identifier for this request (useful for support)
Example
{ "error": { "code": "NOT_FOUND", "message": "Message not found" }, "meta": { "request_id": "req_xyz123" }}Internal server error
object
object
Machine-readable error code
Human-readable error message
object
Unique identifier for this request (useful for support)
Example
{ "error": { "code": "INTERNAL_ERROR", "message": "An internal error occurred" }, "meta": { "request_id": "req_xyz123" }}Enter your credentials to populate code examples throughout the docs.