Hookdeck Bulk retry events API
Bulk retry operations allow you to retry many events at once. A bulk retry is first estimated, then created, then processed asynchronously.
Bulk retry operations allow you to retry many events at once. A bulk retry is first estimated, then created, then processed asynchronously.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hookdeck-bulk-retry-events-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Hookdeck Bookmarks Attempts Bulk retry events API
version: 1.0.0
description: Save bookmarked events for quick replay and convenient one-click testing during development.
contact:
name: Hookdeck Support
url: https://hookdeck.com/contact-us
email: info@hookdeck.com
servers:
- url: https://api.hookdeck.com/2025-07-01
description: Production API
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Bulk retry events
description: Bulk retry operations allow you to retry many events at once. A bulk retry is first estimated, then created, then processed asynchronously.
paths:
/bulk/events/retry:
get:
operationId: getEventBulkRetries
summary: Retrieve events bulk retries
description: This endpoint lists events bulk retries.
tags:
- Bulk retry events
responses:
'200':
description: List of events bulk retries
content:
application/json:
schema:
$ref: '#/components/schemas/BatchOperationPaginatedResult'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
parameters:
- in: query
name: cancelled_at
schema:
anyOf:
- type:
- string
- 'null'
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by date the bulk retry was cancelled
- in: query
name: completed_at
schema:
anyOf:
- type:
- string
- 'null'
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by date the bulk retry completed
- in: query
name: created_at
schema:
anyOf:
- type:
- string
- 'null'
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by date the bulk retry was created
- in: query
name: id
schema:
anyOf:
- type: string
maxLength: 255
description: Bulk retry ID
- type: array
items:
type: string
maxLength: 255
description: Bulk retry ID
description: Filter by bulk retry IDs
- in: query
name: query
schema:
type: object
properties:
id:
anyOf:
- type: string
maxLength: 255
description: Event ID
- type: array
items:
type: string
maxLength: 255
description: Event ID
description: Filter by event IDs
status:
anyOf:
- $ref: '#/components/schemas/EventStatus'
- type: array
items:
$ref: '#/components/schemas/EventStatus'
description: Lifecyle status of the event
webhook_id:
anyOf:
- type: string
maxLength: 255
description: Connection (webhook) ID
- type: array
items:
type: string
maxLength: 255
description: Connection (webhook) ID
description: Filter by connection (webhook) IDs
destination_id:
anyOf:
- type: string
maxLength: 255
description: Destination ID
- type: array
items:
type: string
maxLength: 255
description: Destination ID
description: Filter by destination IDs
source_id:
anyOf:
- type: string
maxLength: 255
description: Source ID
- type: array
items:
type: string
maxLength: 255
description: Source ID
description: Filter by source IDs
attempts:
anyOf:
- type: integer
minimum: 0
- $ref: '#/components/schemas/Operators'
description: Filter by number of attempts
response_status:
anyOf:
- type: integer
minimum: 200
maximum: 600
- $ref: '#/components/schemas/Operators'
- type: array
items:
type: integer
minimum: 200
maximum: 600
description: Filter by HTTP response status code
successful_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `successful_at` date using a date operator
created_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `created_at` date using a date operator
error_code:
anyOf:
- $ref: '#/components/schemas/AttemptErrorCodes'
- type: array
items:
$ref: '#/components/schemas/AttemptErrorCodes'
description: Filter by error code code
cli_id:
anyOf:
- type: string
- type: object
properties:
any:
type: boolean
all:
type: boolean
additionalProperties: false
- type: array
items:
type: string
description: Filter by CLI IDs. `?[any]=true` operator for any CLI.
last_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `last_attempt_at` date using a date operator
next_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `next_attempt_at` date using a date operator
search_term:
type: string
minLength: 3
description: URL Encoded string of the value to match partially to the body, headers, parsed_query or path
headers:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data headers
x-docs-force-simple-type: true
x-docs-type: JSON
body:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data body
x-docs-force-simple-type: true
x-docs-type: JSON
parsed_query:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the parsed query (JSON representation of the query)
x-docs-force-simple-type: true
x-docs-type: JSON
path:
type: string
description: URL Encoded string of the value to match partially to the path
cli_user_id:
anyOf:
- type: string
- type: array
items:
type: string
x-docs-hide: true
issue_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
event_data_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
bulk_retry_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
additionalProperties: false
description: Filter for events to be included in the bulk retry, use query parameters of [Event](#events)
x-docs-force-simple-type: true
x-docs-type: JSON
- in: query
name: query_partial_match
schema:
type: boolean
description: Allow partial filter match on query property
- in: query
name: in_progress
schema:
type: boolean
description: Indicates if the bulk retry is currently in progress
- in: query
name: order_by
schema:
anyOf:
- type: string
maxLength: 255
enum:
- created_at
- type: array
items:
type: string
maxLength: 255
enum:
- created_at
minItems: 2
maxItems: 2
description: Sort key(s)
- in: query
name: dir
schema:
anyOf:
- type: string
enum:
- asc
- desc
- type: array
items:
type: string
enum:
- asc
- desc
minItems: 2
maxItems: 2
description: Sort direction(s)
- in: query
name: limit
schema:
type: integer
minimum: 0
maximum: 255
description: Result set size
- in: query
name: next
schema:
type: string
maxLength: 255
description: The ID to provide in the query to get the next set of results
- in: query
name: prev
schema:
type: string
maxLength: 255
description: The ID to provide in the query to get the previous set of results
post:
operationId: createEventBulkRetry
summary: Create events bulk retry
description: This endpoint creates and starts an events bulk retry using the provided query.
tags:
- Bulk retry events
responses:
'200':
description: A single events bulk retry
content:
application/json:
schema:
$ref: '#/components/schemas/BatchOperation'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: object
properties:
id:
anyOf:
- type: string
maxLength: 255
description: Event ID
- type: array
items:
type: string
maxLength: 255
description: Event ID
description: Filter by event IDs
status:
anyOf:
- $ref: '#/components/schemas/EventStatus'
- type: array
items:
$ref: '#/components/schemas/EventStatus'
description: Lifecyle status of the event
webhook_id:
anyOf:
- type: string
maxLength: 255
description: Connection (webhook) ID
- type: array
items:
type: string
maxLength: 255
description: Connection (webhook) ID
description: Filter by connection (webhook) IDs
destination_id:
anyOf:
- type: string
maxLength: 255
description: Destination ID
- type: array
items:
type: string
maxLength: 255
description: Destination ID
description: Filter by destination IDs
source_id:
anyOf:
- type: string
maxLength: 255
description: Source ID
- type: array
items:
type: string
maxLength: 255
description: Source ID
description: Filter by source IDs
attempts:
anyOf:
- type: integer
minimum: 0
- $ref: '#/components/schemas/Operators'
description: Filter by number of attempts
response_status:
anyOf:
- type: integer
minimum: 200
maximum: 600
- $ref: '#/components/schemas/Operators'
- type: array
items:
type: integer
minimum: 200
maximum: 600
description: Filter by HTTP response status code
successful_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `successful_at` date using a date operator
created_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `created_at` date using a date operator
error_code:
anyOf:
- $ref: '#/components/schemas/AttemptErrorCodes'
- type: array
items:
$ref: '#/components/schemas/AttemptErrorCodes'
description: Filter by error code code
cli_id:
anyOf:
- type: string
- type: object
properties:
any:
type: boolean
all:
type: boolean
additionalProperties: false
- type: array
items:
type: string
description: Filter by CLI IDs. `?[any]=true` operator for any CLI.
last_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `last_attempt_at` date using a date operator
next_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `next_attempt_at` date using a date operator
search_term:
type: string
minLength: 3
description: URL Encoded string of the value to match partially to the body, headers, parsed_query or path
headers:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data headers
x-docs-force-simple-type: true
x-docs-type: JSON
body:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data body
x-docs-force-simple-type: true
x-docs-type: JSON
parsed_query:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the parsed query (JSON representation of the query)
x-docs-force-simple-type: true
x-docs-type: JSON
path:
type: string
description: URL Encoded string of the value to match partially to the path
cli_user_id:
anyOf:
- type: string
- type: array
items:
type: string
x-docs-hide: true
issue_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
event_data_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
bulk_retry_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
additionalProperties: false
description: Filter properties for the events to be included in the bulk retry
x-docs-force-simple-type: true
x-docs-type: JSON
additionalProperties: false
/bulk/events/retry/plan:
get:
operationId: generateEventBulkRetryPlan
summary: Generate events bulk retry plan
description: This endpoint estimates the number of events matched by the provided query before creating a bulk retry. Use the plan to preview impact.
tags:
- Bulk retry events
responses:
'200':
description: Events bulk retry plan
content:
application/json:
schema:
type: object
properties:
estimated_batch:
type:
- integer
- 'null'
description: Number of batches required to complete the bulk retry
estimated_count:
type:
- integer
- 'null'
description: Number of estimated events to be retried
progress:
type:
- number
- 'null'
format: float
description: Progression of the batch operations, values 0 - 1
additionalProperties: false
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
parameters:
- in: query
name: query
schema:
type: object
properties:
id:
anyOf:
- type: string
maxLength: 255
description: Event ID
- type: array
items:
type: string
maxLength: 255
description: Event ID
description: Filter by event IDs
status:
anyOf:
- $ref: '#/components/schemas/EventStatus'
- type: array
items:
$ref: '#/components/schemas/EventStatus'
description: Lifecyle status of the event
webhook_id:
anyOf:
- type: string
maxLength: 255
description: Connection (webhook) ID
- type: array
items:
type: string
maxLength: 255
description: Connection (webhook) ID
description: Filter by connection (webhook) IDs
destination_id:
anyOf:
- type: string
maxLength: 255
description: Destination ID
- type: array
items:
type: string
maxLength: 255
description: Destination ID
description: Filter by destination IDs
source_id:
anyOf:
- type: string
maxLength: 255
description: Source ID
- type: array
items:
type: string
maxLength: 255
description: Source ID
description: Filter by source IDs
attempts:
anyOf:
- type: integer
minimum: 0
- $ref: '#/components/schemas/Operators'
description: Filter by number of attempts
response_status:
anyOf:
- type: integer
minimum: 200
maximum: 600
- $ref: '#/components/schemas/Operators'
- type: array
items:
type: integer
minimum: 200
maximum: 600
description: Filter by HTTP response status code
successful_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `successful_at` date using a date operator
created_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `created_at` date using a date operator
error_code:
anyOf:
- $ref: '#/components/schemas/AttemptErrorCodes'
- type: array
items:
$ref: '#/components/schemas/AttemptErrorCodes'
description: Filter by error code code
cli_id:
anyOf:
- type: string
- type: object
properties:
any:
type: boolean
all:
type: boolean
additionalProperties: false
- type: array
items:
type: string
description: Filter by CLI IDs. `?[any]=true` operator for any CLI.
last_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `last_attempt_at` date using a date operator
next_attempt_at:
anyOf:
- type: string
format: date-time
- $ref: '#/components/schemas/Operators'
description: Filter by `next_attempt_at` date using a date operator
search_term:
type: string
minLength: 3
description: URL Encoded string of the value to match partially to the body, headers, parsed_query or path
headers:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data headers
x-docs-force-simple-type: true
x-docs-type: JSON
body:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the data body
x-docs-force-simple-type: true
x-docs-type: JSON
parsed_query:
anyOf:
- type: string
- type: object
properties: {}
additionalProperties: false
description: URL Encoded string of the JSON to match to the parsed query (JSON representation of the query)
x-docs-force-simple-type: true
x-docs-type: JSON
path:
type: string
description: URL Encoded string of the value to match partially to the path
cli_user_id:
anyOf:
- type: string
- type: array
items:
type: string
x-docs-hide: true
issue_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
event_data_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
bulk_retry_id:
anyOf:
- type: string
maxLength: 255
- type: array
items:
type: string
maxLength: 255
x-docs-hide: true
additionalProperties: false
description: Filter properties for the events to be included in the bulk retry
x-docs-force-simple-type: true
x-docs-type: JSON
/bulk/events/retry/{id}:
get:
operationId: getEventBulkRetry
summary: Retrieve events bulk retry
description: This endpoint retrieves a specific events bulk retry.
tags:
- Bulk retry events
responses:
'200':
description: A single events bulk retry
content:
application/json:
schema:
$ref: '#/components/schemas/BatchOperation'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
parameters:
- in: path
name: id
schema:
type: string
description: Bulk retry ID
required: true
/bulk/events/retry/{id}/cancel:
post:
operationId: cancelEventBulkRetry
summary: Cancel events bulk retry
description: This endpoint cancels a pending or in-progress events bulk retry.
tags:
- Bulk retry events
responses:
'200':
description: A single events bulk retry
content:
application/json:
schema:
$ref: '#/components/schemas/BatchOperation'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
parameters:
- in: path
name: id
schema:
type: string
description: Bulk retry ID
required: true
components:
schemas:
BatchOperationPaginatedResult:
type: object
properties:
pagination:
$ref: '#/components/schemas/SeekPagination'
count:
type: integer
models:
type: array
items:
$ref: '#/components/schemas/BatchOperation'
additionalProperties: false
APIErrorResponse:
type: object
properties:
code:
type: string
description: Error code
status:
type: number
format: float
description: Status code
message:
type: string
description: Error description
data:
type:
- object
- 'null'
properties: {}
required:
- code
- status
- message
additionalProperties: false
description: Error response model
Operators:
type: object
properties:
gt:
type:
- string
- 'null'
format: date-time
gte:
type:
- string
- 'null'
format: date-time
le:
type:
- string
- 'null'
format: date-time
lte:
type:
- string
- 'null'
format: date-time
any:
type: boolean
all:
type: boolean
additionalProperties: false
SeekPagination:
type: object
properties:
order_by:
anyOf:
- type: string
- type: array
items:
type: string
dir:
anyOf:
- $ref: '#/components/schemas/OrderByDirection'
- type: array
items:
$ref: '#/components/schemas/OrderByDirection'
limit:
type: integer
prev:
type: string
next:
type: string
additionalProperties: false
BatchOperation:
type: object
properties:
id:
type: string
description: ID of the bulk retry
team_id:
type: string
description: ID of the project
type:
type: string
description: Type of the bulk operation
query:
anyOf:
- type: object
properties: {}
additionalProperties: {}
- type:
- string
- 'null'
description: Query object to filter records
x-docs-force-simple-type: true
x-docs-type: JSON
created_at:
type: string
format: date-time
description: Date the bulk retry was created
updated_at:
type: string
format: date-time
description: Last time the bulk retry wa
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hookdeck/refs/heads/main/openapi/hookdeck-bulk-retry-events-api-openapi.yml