Event Gateway API Reference
Getting Started
The Hookdeck REST API allows you to set up connections, retrieve events, and perform actions programmatically.
Get an API key
You'll need to include an API key in every API request. If you do not yet have a Hookdeck account, please sign up for a free account. Your API key is located in your project settings.
To include your API key in requests, use either Bearer Token Authentication or Basic Authentication.
| Method | Procedure |
|---|---|
| Bearer Token Authentication | Include the header Authorization: Bearer $API_, replacing $API_KEY with your personal key |
| Basic Authentication | Set the username as your API key, and supply an empty password |
Basic Authentication is deprecated and remains supported for backwards compatibility.
Create your first connection
As an example let's create a connection between a source and a destination. This will allow you to start routing events with Hookdeck.
Minimum parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | Name of the connection to create |
| source.name | string | Name of the source to create |
| destination.name | string | Name of the destination to create |
| destination.config.url | string | HTTP endpoint of the destination |
By default, the source is assumed to be of type
WEBHOOKand the destination of typeHTTP.
View the full specification for the connection object here.
Verify your first connection
Verifying the connection lets you know Hookdeck is properly ingesting and processing events from your source.
Copy the unique Hookdeck URL and paste it into your API provider's HTTP URL field. Test the connection by triggering a request on your source. As soon Hookdeck receives your first request, it'll appear in your dashboard.
Congratulations! Your request & events can now be viewed, inspected, filtered, sorted, retried, and so much more using Hookdeck.
Authentication
Scope: This authentication method applies to Hookdeck REST API endpoints (e.g.,
/events,/requests,/sources) and Hookdeck Publish API endpoints (https://hkdk.events/v1/publish). For authentication when sending requests to a Source URL (e.g.,https://hkdk.events/src_), see Source Authentication.123...
Your API key is located in your project settings, and must be included in every API request. Use either Bearer Token Authentication or Basic Authentication.
| Method | Procedure |
|---|---|
| Bearer Token Authentication | Include the header Authorization: Bearer $API_, replacing $API_KEY with your project key |
| Basic Authentication | Set the username as your API key, and supply an empty password |
Paging
All GET endpoints that retrieve a list of resources are paged using cursor (aka keyset) pagination, which resides in the response body's pagination object.
| Parameter | Default | Description |
|---|---|---|
| order_by | "created_at" | The sortable key to use (options varies base on the resource ) |
| dir | "desc" | The direction to sort it ("asc" or "desc") |
| limit | 100 | The making amount of results returned per query (max: 250) |
| next | undefined | The ID to provide in the query to get the next set of results |
| prev | undefined | The ID to provide in the query to get the previous set of results |
Unless you have specified an order_by or dir, you can omit it from the next or previous set query. You only have to carry them over if you are not using the resource default.
Errors
Hookdeck uses standard HTTP response codes to indicate the success or failure of an API request.
| Parameter | Type | Description |
|---|---|---|
| handled | boolean | Error was handled by the API and did not resolve in an uncaught exception |
| status | integer | HTTP status code for the error |
| message | string | Any message associated with the error |
| data | object | Any data related to the error, useful for diagnostics |
In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing), and codes in the 5xx range indicate an error. See a more complete list of error codes here.
Rate Limits
The Hookdeck API has a rate limit of 240 request per minute, per API key. Contact us if you need your rate limit increased.
Query Formatting
Arrays
Arrays in query parameters are indicated by a [] appended to their type, like string[].
For example: ?item[1]=hello&item[2]=world is parsed as ["hello", "world"]
Date
Dates are expected in ISO format.
For example: 2021-01-21T20:16:28Z or 2021-01-21
JSON
Some query parameters take JSON as input. The JSON should be stringified and URL encoded.
For example: ?body=%7B%0A%20%20"hello"%3A%20"world"%0A%7D is parsed as { "hello": "world" }
Operators
Most GET endpoints that retrieve a list of resources support operators as part of the request query.
For example: ?number[gte]=1&number[lte]=10
| Operator | Supported Types | Description |
|---|---|---|
| gte | date number | Greater than or equal to |
| gt | date number | Greater than |
| lte | date number | Lesser than or equal to |
| lt | date number | Lesser than |
| any | date number string | Not null |
| contains | string | Contains |
OpenAPI Schema
Our OpenAPI schema is available at https://api.hookdeck.com/2026-09-01/openapi.
OpenAPI schemas can be used to generate SDKs for your language of choice and work with various tools made for OpenAPI definitions such as importing into Postman.
Changelog
When backwards-incompatible changes are made to the API, a new, dated version is released. The latest version is 2026-09-01.
The API version can be set in the base path of any endpoint, such as https://api.hookdeck.com/2026-09-01/sources. Otherwise the API defaults to the latest version.
The backwards-incompatible changes for each version are listed below. Backwards-compatible changes don’t need a new API version and do not appear in this list.
Dated versions remain officially supported for up to 1 year after the date of release. For instance 2023-07-01 will be officially supported until 2024-07-01.
2026-09-01
Destination delivery policy
Destination rate limit settings are now grouped under config.delivery_policy in requests and responses for destinations, including destinations embedded in connections.
config.rate_limitis nowconfig.delivery_.policy.rate config.rate_limit_periodis nowconfig.delivery_.policy.period
Affected request bodies:
POST /destinations,PUT /destinations, andPUT /destinations/:id.POST /connectionsandPUT /connectionswhen the request includes an inlinedestinationobject.
Affected responses:
- Destination responses from
GET /destinations,GET /destinations/:id,POST /destinations,PUT /destinations,PUT /destinations/:id, and the destination enable/disable endpoints. - The nested
destinationobject returned byGET /connections,GET /connections/:id,POST /connections,PUT /connections,PUT /connections/:id, and the connection enable, disable, pause, and unpause endpoints.
For example, update this 2025-07-01 destination config:
{
"rate_limit": 100,
"rate_limit_period": "minute"
}
To the following structure for 2026-09-01:
{
"delivery_policy": {
"rate": 100,
"period": "minute"
}
}
2025-07-01
New source types
Added support for new source types to expand webhook integration capabilities. New type values are grouped by when they shipped; both batches apply to the 2025-07-01 dated API version.
Shipped with the 2025-07-01 release
- RECURLY - Native integration with Recurly billing platform webhooks
- FUSIONAUTH - Support for FusionAuth identity platform webhooks
- PORTAL - Integration with Portal platform webhooks
- ASANA - Native support for Asana project management webhooks
Added 2026-05-15
- ALCHEMY - Native integration with Alchemy blockchain infrastructure webhooks
- CLAUDE - Support for Anthropic Claude AI platform webhooks
- BRIDGE_XYZ - Integration with Bridge.xyz stablecoin platform webhooks
- BRIDGE_API - Support for Bridge API webhooks
- CHAINDOTS - Native integration with Chaindots webhooks
- COINBASE - Support for Coinbase platform webhooks
- MICROSOFT_GRAPH - Integration with Microsoft Graph API webhooks
- MICROSOFT_SHAREPOINT - Native support for Microsoft SharePoint webhooks
- REVOLUT - Integration with Revolut payment platform webhooks
- GEMINI - Google Gemini API webhooks
- FAUNDIT - Native integration with Faundit webhooks
- SHIPBOB - Support for ShipBob fulfillment platform webhooks
- SHIPHERO - Integration with ShipHero warehouse management webhooks
- NEON - Native support for Neon database webhooks
- PAYMOB - Integration with Paymob payment platform webhooks
- PAYSTACK - Support for Paystack payment platform webhooks
- SCRAPFLY - Native integration with Scrapfly webhooks
- GREENDOT - Support for Green Dot financial platform webhooks
- ASHBY - Integration with Ashby recruiting platform webhooks
- WALMART - Native support for Walmart marketplace webhooks
- FIREFLIES - Integration with Fireflies.ai meeting assistant webhooks
- UBER - Support for Uber platform webhooks
- WECHAT - Native integration with WeChat webhooks
- CIRCLE - Support for Circle financial platform webhooks
Each new source type includes pre-configured authentication and validation settings optimized for the respective platform's webhook implementation.
Fireblocks source configuration updates
For sources with type FIREBLOCKS, the auth configuration has been updated:
public_keyis no longer used. Remove it fromconfig.authon create and update requests. If you still include it, the value is not kept on the resource.environmentis now required for Fireblocks auth. Set it to the Fireblocks region you use (for exampleUS_PRODUCTIONorSANDBOX; the dashboard lists the full set of region values).
Recommended updates:
- Remove
public_keyfrom Fireblocksconfig.authpayloads. - Set
environmentexplicitly wherever you configure Fireblocks auth.
{
"type": "FIREBLOCKS",
"config": {
"auth_type": "FIREBLOCKS",
"auth": {
"environment": "US_PRODUCTION"
}
}
}
Bridge: BRIDGE split into BRIDGE_XYZ and BRIDGE_API
BRIDGE is no longer accepted as a source type when creating or updating sources—use BRIDGE_XYZ or BRIDGE_API to match your Bridge product. The single BRIDGE label has been split into two explicit source types so integrations map cleanly to Bridge.xyz versus Bridge API traffic:
- BRIDGE_XYZ — Bridge.xyz stablecoin platform webhooks
- BRIDGE_API — Bridge API webhooks
If you still reference type: "BRIDGE", update source payloads to use BRIDGE_XYZ or BRIDGE_API based on which Bridge surface you connect to. New sources should be created with one of those types from the start.
Transformation and Filter Order
Transformations and filters are now be ordered via the rules property in a connection. This allows for greater flexibility in how events are processed.
Prior to this change, transformations always ran before filters. Now, you can control the order of execution by placing transformations before or after filters in the rules array.
To preserve existing behavior, ensure that transformation rules are placed before filter rules in the rules array.
The delay and retry rules do not have an order and can be placed anywhere in the rules array.
Deduplicate Rule
Added support for deduplicating events based on configurable time windows and field matching. The new DeduplicateRule can be configured in a Connection's rules array to prevent duplicate events from being delivered to your destination.
The deduplicate rule includes:
type: Set to"deduplicate"to enable deduplicationwindow: Time window in seconds during which events are considered for deduplicationinclude_fields: Optional array of event fields to include in duplicate detection (if not specified, all fields are considered)exclude_fields: Optional array of event fields to exclude from duplicate detection
When an event matches a previously seen event within the specified time window, only the first occurrence will be delivered to your destination.
{
"type": "deduplicate",
"window": 300,
"include_fields": ["id", "type", "user_id"]
}
Metrics API Endpoints
Added seven new metrics endpoints to provide comprehensive analytics and monitoring capabilities for your webhook infrastructure:
- GET /metrics/requests - Retrieve request volume metrics across your sources and destinations
- GET /metrics/events - Get detailed event processing statistics and success rates
- GET /metrics/attempts - Monitor delivery attempt metrics including retry patterns
- GET /metrics/events-by-issue - Analyze event failures grouped by issue type for easier troubleshooting
- GET /metrics/queue-depth - Track queue depth metrics to monitor processing backlogs
- GET /metrics/transformations - Monitor transformation execution performance and success rates
- GET /metrics/events-pending-timeseries - Retrieve time-series data for pending events to identify processing trends
These endpoints provide the data needed to build comprehensive monitoring dashboards and set up alerting for your webhook infrastructure.
2025-01-01
Source and Destination Types
Source and Destination Types are now available on the Source and Destination objects. This introduces the following changes:
- Added
typeproperty to the Source and Destination objects, which can be set when creating or updating them. - Added
configproperty to contain all type-dependent configuration options, including authentication methods, custom responses, and HTTP method restrictions. See the source object for more details on each Type configuration.
Source
- The Source
typeproperty defaults toWEBHOOKand has no requiredconfigproperty. - The
custom_response,allowed_http_methodsproperties have been moved to the Source to theconfigobject for the supportedtype. - The
verificationhas been moved to theconfigobject and theverification.typeproperty is nowconfig.auth_typeand theverification.configproperty is justconfig.auth.
Destination
- The Destination
typeproperty defaults toHTTPand requires aconfig.urlproperty. - The Destination properties
url,rate_limit,rate_limit_period,disabled_path_forwardingandhttp_methodhave been moved to theconfigobject for the supportedtype. - The Destination
cli_pathproperty has been renamed topathand has been moved to theconfigobject whentypeisCLI. - When
typeisCLItherate_limitandrate_limit_periodproperties are not supported.
2024-09-01
Change to attempts
Attempts no longer store state and are created when the event is delivered rather then when the event is queued for delivery.
Because of the underlying data structure change, the behavior of the API has changed for some endpoint, regardless of versions. While those are not technically breaking changes, they are worth noting:
- The
/attempts(see: Retrieve all attempts) endpoint now only returns attempts with status ofSUCCESFULorFAILED. This is true regardless of API version. - The
/events/:id/retrywill always returnnullfor theattemptproperty on the response. This is true regardless of API version.
The breaking changes for this version specifically are:
- The
/events/:id/retry(see: Retry an event) endpoint previously returned{ event: Event, attempt: Attempt }and now only returns the Event object in root of the response.
Connections
A connection lets you route webhooks from a source to a destination, using a rule.
Retrieve connections
This endpoint lists connections, or a subset of connections.
Create a connection
This endpoint creates a connection. You can create a connection's underlying source, destination, and rules with a single call by declaring an object for any of those resources. You can reuse a source or destination by referencing their ID.
Create/Update a connection
This endpoint creates a connection, or updates an existing connection by name. A connection's source and destination cannot be updated.
Count connections
Retrieve a connection
This endpoint retrieves a specific connection.
Update a connection
This endpoint updates a connection.
Delete a connection
This endpoint permanently deletes a connection. This action cannot be undone.
Disable a connection
This endpoint disables a connection. Notice that a connection is enabled by default when created. A disabled connection will no longer receive or deliver any events.
Disable a connection
This endpoint disables a connection. Notice that a connection is enabled by default when created. A disabled connection will no longer receive or deliver any events.
Enable a connection
This endpoint enables a connection that has been previously disabled. The associated source and destination will also be enabled if they were previously disabled.
Enable a connection
This endpoint enables a connection that has been previously disabled. The associated source and destination will also be enabled if they were previously disabled.
Pause a connection
This endpoint pauses a connection. A paused connection will still receive events, but those events will be marked with a status of HOLD and will be delivered only once the connection is unpaused.
Unpause a connection
This endpoint unpauses a connection. Any event with a status of HOLD will be attempted. Destination delivery rate will be respected. This operation is asynchronous, so it may take some time for all events to be QUEUED for delivery.
Sources
A source represents any third party that sends webhooks to Hookdeck.
Retrieve sources
This endpoint lists sources, or a subset of sources.
Create a source
This endpoint creates a source.
Create/Update a source
This endpoint creates a source, or updates an existing source by name.
Count sources
Retrieve a source
This endpoint retrieves a specific source.
Update a source
This endpoint updates a source.
Delete a source
This endpoint permanently deletes a source. This action cannot be undone.
Disable a source
This endpoint disables a source. A disabled source will no longer receive any events, and all connections associated with this source will also be disabled.
Disable a source
This endpoint disables a source. A disabled source will no longer receive any events, and all connections associated with this source will also be disabled.
Enable a source
This endpoint enables a source that was previously disabled.
Enable a source
This endpoint enables a source that was previously disabled.
Destinations
A destination is any endpoint to which your webhooks can be routed.
Retrieve destinations
This endpoint lists destinations, or a subset of destinations.
Create a destination
This endpoint creates a destination.
Create/Update a destination
This endpoint creates a destination, or updates an existing destination by name.
Count destinations
Retrieve a destination
This endpoint retrieves a specific destination.
Update a destination
This endpoint updates a destination.
Delete a destination
This endpoint permanently deletes a destination. This action cannot be undone.
Disable a destination
This endpoint disables a destination. A disabled destination will no longer deliver any events.
Disable a destination
This endpoint disables a destination. A disabled destination will no longer deliver any events.
Enable a destination
This endpoint enables a destination that was previously disabled.
Enable a destination
This endpoint enables a destination that was previously disabled.
Issue Triggers
Issue Triggers lets you setup rules that trigger issues when certain conditions are met.
Retrieve issue triggers
This endpoint lists issue triggers.
Create an issue trigger
This endpoint creates an issue trigger.
Create/Update an issue trigger
This endpoint creates an issue trigger, or updates an existing issue trigger by name.
Retrieve an issue trigger
This endpoint retrieves a specific issue trigger.
Update an issue trigger
This endpoint updates an issue trigger.
Delete an issue trigger
This endpoint permanently deletes an issue trigger. This action cannot be undone.
Disable an issue trigger
This endpoint disables an issue trigger so it stops producing issues.
Enable an issue trigger
This endpoint enables a previously disabled issue trigger.
Transformations
A transformation represents JavaScript code that will be executed on a connection's requests. Transformations are applied to connections using Rules.
Retrieve transformations
This endpoint lists transformations, or a subset of transformations.
Create a transformation
This endpoint creates a transformation.
Create/Update a transformation
This endpoint creates a transformation, or updates an existing transformation by name.
Get transformations count
Retrieve a transformation
This endpoint retrieves a specific transformation.
Update a transformation
This endpoint updates a transformation.
Delete a transformation
This endpoint permanently deletes a transformation. This action cannot be undone.
Test a transformation
This endpoint executes a transformation against a sample request payload and returns the transformed result without persisting anything.
Get transformation executions
Get a transformation execution
Notifications
Notifications let your team receive alerts anytime an issue changes.
Webhook Notifications
This endpoint enables or disables webhook notifications for the project, and sets the topics and source to deliver them to.
List all custom domains and their verification statuses for the project
Add a custom domain to the project
Removes a custom domain from the project
Requests
A request represent a webhook received by Hookdeck.
Retrieve requests
This endpoint lists requests, or a subset of requests.
Retrieve a request
This endpoint retrieves a specific request.
Get a request raw body data
Retry a request
This endpoint retries a specific request. Retrying a request creates new events based on the request for the specified connections (or all matching connections if none specified).
Replay a request
Replays a request through the full pipeline, creating a new request and new events. The original request and its events remain unchanged. Transformations, filters, and other pipeline rules are re-evaluated with the current configuration. By default, replays to all currently active connections on the request source — this also backfills traffic onto connections added after the original request was ingested. If the source has no active connections, the replay still creates a new request, rejected with cause NO_CONNECTION. Optionally specify source_id to target another source — alone it replays onto all of that source’s active connections, or combine it with webhook_ids to target specific connections on that source. webhook_ids without source_id may target any connections in the project; when they span multiple sources the replay fans out into one new request per target source.
Retrieve request events
This endpoint retrieves all events that were created as a result of the specified request.
Retrieve request ignored events
This endpoint retrieves all events that were ignored (filtered out) for the specified request.
Events
An event is any request that Hookdeck receives from a source.
Retrieve events
This endpoint lists events, or a subset of events.
Retrieve an event
This endpoint retrieves a specific event. The response contains the data object with the properties body and headers, representing the original data for that request.
Get a event raw body data
Retry an event
This endpoint retries a specific event. Retrying an event will cause a new attempt to be made to deliver it to the destination.
Replay an event
Replays an event by re-ingesting the original request through the full pipeline, creating a new request and new events. The original event remains unchanged. By default, replays to the same connection as the original event. Optionally specify one or more connections via webhook_ids — any connections in the project. When the target connections span multiple sources, the replay fans out into one new request per target source. Alternatively specify source_id to target another source — alone it replays onto all of that source’s active connections, or combine it with webhook_ids to target specific connections on that source.
Cancel an event
This endpoint cancels a pending event. Only events with a status of QUEUED, SCHEDULED, or HOLD can be cancelled.
Cancel an event
This endpoint cancels a pending event. Only events with a status of QUEUED, SCHEDULED, or HOLD can be cancelled.
Attempts
An attempt is any request that Hookdeck makes on behalf of an event.
Retrieve attempts
This endpoint lists attempts, or a subset of attempts.
Retrieve an attempt
This endpoint retrieves a specific attempt. When retrieving a completed attempt, the response will contain the body of the destination's response. If the body is not yet available in our backend service the body will be set to NOT_AVAILABLE_YET.
Bookmarks
A bookmark lets you conveniently store and replay a specific request.
Retrieve bookmarks
This endpoint lists bookmarks, or a subset of bookmarks.
Create a bookmark
This endpoint creates a bookmark from a specific event.
Retrieve a bookmark
This endpoint retrieves a specific bookmark.
Update a bookmark
This endpoint updates a bookmark.
Delete a bookmark
This endpoint permanently deletes a bookmark. This action cannot be undone.
Get a bookmark raw body data
Trigger a bookmark
This endpoint triggers a bookmark, replaying its associated event against all matching connections.
Issues
Issues lets you track problems in your project and communicate resolution steps with your team.
Retrieve issues
This endpoint lists issues, or a subset of issues.
Get the number of issues
Retrieve an issue
This endpoint retrieves a specific issue.
Update an issue
This endpoint updates an issue's status.
Dismiss an issue
This endpoint dismisses an issue.
Metrics
Query aggregated metrics for events, requests, and attempts with time-based grouping and filtering.
Query request metrics
Query aggregated request metrics with time-based grouping and filtering
Query event metrics
Query aggregated event metrics with time-based grouping and filtering
Query attempt metrics
Query aggregated attempt metrics with time-based grouping and filtering
Query event metrics grouped by individual issue
Returns metrics for events broken down by individual issue IDs. Uses arrayJoin to create one row per issue per event, enabling per-issue analytics. Useful for tracking which issues affect the most events over time.
Query queue depth metrics
Query queue depth metrics for destinations and delivery groups (pending events count and age)
Query transformation execution metrics
Query aggregated transformation execution metrics with time-based grouping and filtering
Query events pending timeseries metrics
Query aggregated events pending timeseries metrics with time-based grouping and filtering
Publish API
Authentication: The Publish API uses the same authentication as the Hookdeck REST API (
Authorization: Bearer $API_or Basic Auth). This is different from Source authentication - when sending directly to Source URLs, see Source Authentication.KEY
The Hookdeck Publish API is a distinct endpoint to send requests to one of your Hookdeck sources, either by name or by ID. The Publish API is authenticated just like the rest of the Hookdeck API.
Requests sent via the Publish API are automatically considered verified and do not require additional verification. If your Source Type is set to Hookdeck Publish API (PUBLISH_API via API), only requests via the Publish API will be accepted. Regardless of the source type and authentication method, it's always possible to send requests via the Publish API for any given source.
The Publish API has its own specification and no rate limit.
The API URL is https://hkdk.events/v1/publish
Required headers
The following headers are required for all requests to the Publish API. Those reserved headers will be trimmed from the request once validated.
Authorization: The value of this header is theAuthorizationheader value from the request you wish to publish.Content-Type: The value of this header is theContent-Typeheader value from the request you wish to publish. Must be one of Hookdeck supported content types.
You must include one of the following headers:
X-Hookdeck-Source-Id: The value of this header is theidof the source you wish to publish the request to.X-Hookdeck-Source-Name: The value of this header is thenameof the source you wish to publish the request to.
Behavior
The Publish API does not have a specification beyond the required headers. The Publish API will accept any request valid for the Source it is published to, and the headers, body, path, and query params will be passed through as is.
Path
For example, if you POST to /v1/publish/orders, the path value will be /orders. This path will be forwarded to the destination endpoint unless the Hookdeck Destination has Path forwarding disabled.
Bulk retry events
Bulk retry operations allow you to retry many events at once. A bulk retry is first estimated, then created, then processed asynchronously.
Retrieve events bulk retries
This endpoint lists events bulk retries.
Create events bulk retry
This endpoint creates and starts an events bulk retry using the provided query.
Generate events bulk retry plan
This endpoint estimates the number of events matched by the provided query before creating a bulk retry. Use the plan to preview impact.
Retrieve events bulk retry
This endpoint retrieves a specific events bulk retry.
Cancel events bulk retry
This endpoint cancels a pending or in-progress events bulk retry.
Bulk cancel events
Bulk cancel operations allow you to cancel multiple pending events at once.
Retrieve events bulk cancels
This endpoint lists events bulk cancels.
Create events bulk cancel
This endpoint creates and starts an events bulk cancel using the provided query.
Generate events bulk cancel plan
This endpoint estimates the number of events matched by the provided query before creating a bulk cancel.
Retrieve events bulk cancel
This endpoint retrieves a specific events bulk cancel.
Bulk retry ignored events
Bulk retry ignored events allow you to retry many events that were previously ignored (for instance due to filter rules) at once.
Retrieve ignored events bulk retries
This endpoint lists ignored events bulk retries.
Create ignored events bulk retry
This endpoint creates and starts an ignored events bulk retry using the provided query.
Generate ignored events bulk retry plan
This endpoint estimates the number of ignored events matched by the provided query before creating a bulk retry.
Retrieve ignored events bulk retry
This endpoint retrieves a specific ignored events bulk retry.
Cancel ignored events bulk retry
This endpoint cancels a pending or in-progress ignored events bulk retry.
Bulk retry requests
Bulk retry requests allow you to re-ingest many previously received requests at once.
Retrieve requests bulk retries
This endpoint lists requests bulk retries.
Create requests bulk retry
This endpoint creates and starts a requests bulk retry using the provided query.
Generate requests bulk retry plan
This endpoint estimates the number of requests matched by the provided query before creating a bulk retry.
Retrieve requests bulk retry
This endpoint retrieves a specific requests bulk retry.
Cancel requests bulk retry
This endpoint cancels a pending or in-progress requests bulk retry.
Bulk replay requests
Bulk replay requests re-runs the full pipeline for many historical requests through a chosen set of target connections. Useful for backfilling new connections and for reprocessing after a transformation change.
Retrieve requests bulk replays
This endpoint lists requests bulk replays.
Create requests bulk replay
Creates and starts a requests bulk replay. The query.target object selects where to replay: source_id targets a source — alone it replays onto all of the source’s active connections (resolved as the replay runs), or combine it with webhook_ids to target specific connections on that source. The remaining query fields filter which historical requests to replay.
Generate requests bulk replay plan
Estimates the number of requests matched by the provided filter before creating a bulk replay. Pass the same query payload that you will POST to create the bulk replay — except query.target, which is not a filter and may be omitted.
Retrieve requests bulk replay
This endpoint retrieves a specific requests bulk replay.
Cancel requests bulk replay
This endpoint cancels a pending or in-progress requests bulk replay.
Rule
A rule can be applied to Connections using the rules field.
Retry
The retry rule determines the rate and limit of automatic retries on failed events.
Delay
The delay rule allows you to introduce a delay between the moment Hookdeck receives an event, and when it's forwarded to your destination.
The maximum delay is 24 hours (86,400,000 milliseconds).
Filter
The filter rule allows you to permit and route events conditionally based on the contents of their Headers, Body, Query, and/or Path.
For more information on how to set up filters, including syntax, review our filter documentation.
Transform
The transform rule allows you to run arbitrary JavaScript to transform the event data.
For more information on how to use transformations, check the transformation documentation.
Deduplicate
The deduplication rule allows you to ignore redundant events by comparing them against previously processed events within a time window. You control what makes events "identical" - from exact payload matching to comparing only specific fields that matter to your use case.
For more information on how to use deduplication, check the deduplication documentation.
Not specifying any of include_fields or exclude_fields will deduplicate the full payload. Fields specified must start with body, headers, query or path.