Hookbase
Docs
GuideAPI ReferenceIntegrationsUse CasesCLIMCP
Getting StartedSDK ReferencePortal ComponentsAPI Reference
Get Started

MCP Server

OverviewTools Reference
DocsReceiveMCPTools

MCP Tools Reference

Complete reference for all 123 tools exposed by the Hookbase MCP server, across both the local (stdio) and remote HTTP transports. Parameter tables are generated directly from each tool's input schema.

Tip

Every tool is scoped to the organization of the API key you authenticate with. See the MCP Server overview for setup.

Sources

hookbase_list_sources

List all webhook sources in the organization. Sources are endpoints that receive incoming webhooks.

Parameters: None

hookbase_get_source

Get detailed information about a specific webhook source, including its configuration and statistics.

ParameterTypeRequiredDescription
source_idstringYesThe ID of the source to retrieve

hookbase_create_source

Create a new webhook source. Sources receive incoming webhooks and can be connected to destinations via routes.

ParameterTypeRequiredDescription
namestringYesDisplay name for the source
slugstringYesURL-safe identifier (e.g., "github-webhooks")
providerstringNoWebhook provider for signature verification (e.g., "github", "stripe", "shopify")
descriptionstringNoOptional description of the source
reject_invalid_signaturesbooleanNoWhether to reject webhooks with invalid signatures
rate_limit_per_minutenumberNoMaximum webhooks per minute (rate limiting)
transient_modebooleanNoEnable transient mode - payloads never stored at rest (HIPAA/GDPR compliance). Disables replay and payload viewing.
allowed_methodsstring[]NoHTTP methods this source's ingest endpoint accepts. Omit or pass [] to accept any method. GET/HEAD/DELETE carry no body, so their query string becomes the event payload.

hookbase_update_source

Update an existing webhook source configuration.

ParameterTypeRequiredDescription
source_idstringYesThe ID of the source to update
namestringNoNew display name
descriptionstringNoNew description
is_activebooleanNoEnable or disable the source
providerstringNoUpdate webhook provider
reject_invalid_signaturesbooleanNoWhether to reject invalid signatures
rate_limit_per_minutenumberNoMaximum webhooks per minute
transient_modebooleanNoEnable transient mode - payloads never stored at rest (HIPAA/GDPR compliance)
allowed_methodsstring[]NoHTTP methods this source's ingest endpoint accepts. Omit or pass [] to accept any method. GET/HEAD/DELETE carry no body, so their query string becomes the event payload. Pass [] to revert to accepting any method.

hookbase_delete_source

Delete a webhook source. This will also delete all associated routes.

ParameterTypeRequiredDescription
source_idstringYesThe ID of the source to delete

Destinations

hookbase_list_destinations

List all webhook destinations in the organization. Destinations are endpoints where webhooks are forwarded to.

Parameters: None

hookbase_get_destination

Get detailed information about a specific destination, including authentication configuration.

ParameterTypeRequiredDescription
destination_idstringYesThe ID of the destination to retrieve

hookbase_create_destination

Create a new webhook destination. Destinations can be HTTP endpoints or warehouse storage (S3, R2, GCS, Azure Blob).

ParameterTypeRequiredDescription
namestringYesDisplay name for the destination
typehttp | s3 | r2 | gcs | azure_blobNoDestination type (default: http). Use warehouse types for storage destinations.
urlstringNoThe URL to forward webhooks to (required for http type)
methodGET | POST | PUT | PATCH | DELETENoHTTP method (default: POST, only for http type)
headersobjectNoCustom headers to include in requests (only for http type)
auth_typenone | basic | bearer | api_key | custom_headerNoAuthentication type (default: none, only for http type)
auth_configobjectNoAuth configuration (username/password for basic, token for bearer, etc.)
timeout_msnumberNoRequest timeout in milliseconds (default: 30000)
rate_limit_per_minutenumberNoMaximum requests per minute
configobjectNoWarehouse configuration object. For S3: {bucket, region, accessKeyId, secretAccessKey, prefix?, fileFormat?, partitionBy?}. For R2: {bucket, prefix?, fileFormat?, partitionBy?}. For GCS: {bucket, projectId, serviceAccountKey, prefix?, fileFormat?, partitionBy?}. For Azure Blob: {accountName, accountKey, containerName, prefix?, fileFormat?, partitionBy?}.
field_mappingobject[]NoField mappings for warehouse destinations
use_static_ipbooleanNoEnable static IP delivery (Pro and Business plans)
batch_sizenumberNoNumber of events to accumulate before flushing to warehouse (warehouse destinations only)
batch_window_secondsnumberNoMax seconds to wait before flushing a batch to warehouse (warehouse destinations only)

hookbase_update_destination

Update an existing destination configuration.

ParameterTypeRequiredDescription
destination_idstringYesThe ID of the destination to update
namestringNoNew display name
urlstringNoNew URL (for http type destinations)
methodGET | POST | PUT | PATCH | DELETENoHTTP method
headersobjectNoCustom headers
auth_typenone | basic | bearer | api_key | custom_headerNoAuthentication type
auth_configobjectNoAuth configuration
timeout_msnumberNoRequest timeout in milliseconds
rate_limit_per_minutenumberNoMaximum requests per minute
is_activebooleanNoEnable or disable the destination
configobjectNoWarehouse configuration object (for warehouse type destinations)
field_mappingobject[]NoField mappings for warehouse destinations
use_static_ipbooleanNoEnable static IP delivery (Pro and Business plans)
batch_sizenumberNoNumber of events to accumulate before flushing to warehouse (warehouse destinations only)
batch_window_secondsnumberNoMax seconds to wait before flushing a batch to warehouse (warehouse destinations only)

hookbase_delete_destination

Delete a destination. This will also delete all associated routes.

ParameterTypeRequiredDescription
destination_idstringYesThe ID of the destination to delete

hookbase_test_destination

Test connectivity to a destination by sending a test request. Returns response status and timing.

ParameterTypeRequiredDescription
destination_idstringYesThe ID of the destination to test

Routes

hookbase_list_routes

List all routes in the organization. Routes connect sources to destinations and define how webhooks are processed.

Parameters: None

hookbase_get_route

Get detailed information about a specific route, including filter and transform configuration.

ParameterTypeRequiredDescription
route_idstringYesThe ID of the route to retrieve

hookbase_create_route

Create a new route connecting a source to a destination. Optionally add filters to control which webhooks are forwarded.

ParameterTypeRequiredDescription
namestringYesDisplay name for the route
source_idstringYesID of the source to receive webhooks from
destination_idstringYesID of the destination to forward webhooks to
filter_idstringNoID of an existing filter to apply
filter_conditionsobjectNoInline filter conditions (alternative to filter_id)
transform_idstringNoID of a transform to apply to the payload
prioritynumberNoRoute priority (lower = higher priority, default: 0)
is_activebooleanNoWhether the route is active (default: true)

hookbase_update_route

Update an existing route configuration.

ParameterTypeRequiredDescription
route_idstringYesThe ID of the route to update
namestringNoNew display name
source_idstringNoNew source ID
destination_idstringNoNew destination ID
filter_idstring,nullNoFilter ID (set to null to remove)
transform_idstring,nullNoTransform ID (set to null to remove)
prioritynumberNoRoute priority
is_activebooleanNoEnable or disable the route

hookbase_delete_route

Delete a route.

ParameterTypeRequiredDescription
route_idstringYesThe ID of the route to delete

Events

hookbase_list_events

Query webhook events with optional filters. Events represent incoming webhooks received by sources.

ParameterTypeRequiredDescription
limitnumberNoMaximum number of events to return (default: 20, max: 100)
offsetnumberNoNumber of events to skip for pagination
source_idstringNoFilter by source ID
statusdelivered | failed | pending | partial | no_routesNoFilter by delivery status
from_datestringNoFilter events after this date (ISO 8601)
to_datestringNoFilter events before this date (ISO 8601)
searchstringNoSearch in event payload

hookbase_get_event

Get detailed information about a specific event, including the full payload and all delivery attempts.

ParameterTypeRequiredDescription
event_idstringYesThe ID of the event to retrieve

hookbase_get_event_debug

Generate a cURL command to replay an event for debugging purposes.

ParameterTypeRequiredDescription
event_idstringYesThe ID of the event to generate cURL for

Deliveries

hookbase_list_deliveries

Query webhook deliveries with optional filters. Deliveries represent attempts to forward webhooks to destinations.

ParameterTypeRequiredDescription
limitnumberNoMaximum number of deliveries to return (default: 20, max: 100)
offsetnumberNoNumber of deliveries to skip for pagination
event_idstringNoFilter by event ID
destination_idstringNoFilter by destination ID
statuspending | success | failed | retryingNoFilter by delivery status

hookbase_get_delivery

Get detailed information about a specific delivery, including the response body and error details.

ParameterTypeRequiredDescription
delivery_idstringYesThe ID of the delivery to retrieve

hookbase_replay_delivery

Retry a failed delivery. This will re-send the original webhook payload to the destination.

ParameterTypeRequiredDescription
delivery_idstringYesThe ID of the delivery to replay

hookbase_bulk_replay

Retry multiple failed deliveries at once. Useful for recovering from destination outages.

ParameterTypeRequiredDescription
delivery_idsstring[]YesArray of delivery IDs to replay

hookbase_replay_with_edit

Replay a failed delivery with one-shot overrides. Use this to recover from a broken transform, a wrong destination URL, or a missing header without permanently changing the route. Set persist_transform=true to save the new transform code to the route after a successful replay. Always replay one delivery first as a probe before bulk replays — the response includes the new delivery ID so you can poll its status.

ParameterTypeRequiredDescription
delivery_idstringYesThe ID of the original failed delivery to replay
modified_payloadanyNoEdited payload to use instead of the original event payload
destination_overridestringNoDestination id or slug to send the replay to instead of the route's normal destination. Must belong to the same organization.
transform_overrideobjectNoOne-shot transform applied to this replay only, unless persist_transform=true
headers_overrideobjectNoOutbound HTTP headers to send instead of/in addition to the destination's configured headers. Cannot set host, content-length, transfer-encoding, or connection. Max 50 entries.
persist_transformbooleanNoWhen true and transform_override is set, the new code is saved to the route's transform after replay. Only works when the route already has a transform attached.

hookbase_list_delivery_clusters

List recent failure clusters — distinct failure patterns aggregated by fingerprint (route + destination + status + normalized error). Use this as the entry point when investigating an incident: one cluster row = one root cause, regardless of how many deliveries failed. Returns up to 100 clusters in the chosen time window.

ParameterTypeRequiredDescription
since_hoursintegerNoWindow in hours (default 24, max 720 / 30 days)
limitintegerNoMax clusters to return (default 50)

hookbase_replay_cluster

Replay every failed delivery matching a cluster fingerprint with one round trip. Same override shape as hookbase_replay_with_edit. Use this after diagnosing a cluster with hookbase_list_delivery_clusters and probing the fix on a single delivery with hookbase_replay_with_edit. persist_transform requires every delivery in the cluster to share a single route.

ParameterTypeRequiredDescription
fingerprintstringYesThe cluster fingerprint hash returned by hookbase_list_delivery_clusters
destination_overridestringNo
transform_overrideobjectNo
headers_overrideobjectNo
persist_transformbooleanNo
limitintegerNoMax cluster deliveries to replay (default 500, hard cap 2000)

Tunnels

hookbase_list_tunnels

List all localhost tunnels in the organization. Tunnels allow forwarding webhooks to local development servers.

Parameters: None

hookbase_create_tunnel

Create a new localhost tunnel. The tunnel can be connected using the Hookbase CLI to forward webhooks to your local server.

ParameterTypeRequiredDescription
namestringYesDisplay name for the tunnel
subdomainstringNoCustom subdomain (auto-generated if not provided)

hookbase_get_tunnel_status

Check the connection status of a tunnel. Shows whether the tunnel is connected and live statistics.

ParameterTypeRequiredDescription
tunnel_idstringYesThe ID of the tunnel to check

hookbase_delete_tunnel

Delete a localhost tunnel.

ParameterTypeRequiredDescription
tunnel_idstringYesThe ID of the tunnel to delete

Cron Jobs

hookbase_list_cron_jobs

List all scheduled cron jobs in the organization. Cron jobs make HTTP requests on a schedule.

Parameters: None

hookbase_create_cron_job

Create a new scheduled cron job that makes HTTP requests on a schedule.

ParameterTypeRequiredDescription
namestringYesDisplay name for the cron job
cron_expressionstringYesCron expression (e.g., "0 * * * *" for hourly, "0 0 * * *" for daily)
urlstringYesURL to request when the job runs
methodGET | POST | PUT | PATCH | DELETENoHTTP method (default: POST)
headersobjectNoCustom headers to include
payloadstringNoRequest body (for POST/PUT/PATCH)
timezonestringNoTimezone for the schedule (default: UTC)
timeout_msnumberNoRequest timeout in milliseconds (default: 30000)
descriptionstringNoOptional description

hookbase_get_cron_job

Get full details for a single cron job, including schedule, target URL, headers/payload, and last/next run times.

ParameterTypeRequiredDescription
job_idstringYesCron job ID

hookbase_update_cron_job

Update a cron job. Pass only the fields you want to change. Changing cron_expression or timezone recalculates next run time.

ParameterTypeRequiredDescription
job_idstringYes
namestringNo
descriptionstringNo
cron_expressionstringNo
timezonestringNo
urlstringNo
methodGET | POST | PUT | PATCH | DELETENo
headersobjectNo
payloadstringNo
timeout_msnumberNo
is_activebooleanNo
notify_on_failurebooleanNo
notify_on_successbooleanNo
notify_emailsstringNoComma-separated email addresses
group_idstring,nullNoCron group ID, or null to remove from group

hookbase_delete_cron_job

Delete a scheduled cron job.

ParameterTypeRequiredDescription
job_idstringYesThe ID of the cron job to delete

hookbase_trigger_cron

Manually trigger a cron job immediately, regardless of its schedule.

ParameterTypeRequiredDescription
job_idstringYesThe ID of the cron job to trigger

Cron Groups

hookbase_list_cron_groups

List cron job groups. Groups organize cron jobs in the dashboard and can be referenced via group_id when creating/updating jobs.

Parameters: None

hookbase_get_cron_group

Get a single cron group by ID or slug.

ParameterTypeRequiredDescription
group_idstringYesGroup ID or slug

hookbase_create_cron_group

Create a cron group. Slug is derived from the name. New groups are appended to the end of the sort order.

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo

hookbase_update_cron_group

Update a cron group's name, description, sort order, or collapsed state.

ParameterTypeRequiredDescription
group_idstringYes
namestringNo
descriptionstringNo
sort_ordernumberNo
is_collapsedbooleanNo

hookbase_delete_cron_group

Delete a cron group. Jobs in this group are not deleted; their group_id is set to null.

ParameterTypeRequiredDescription
group_idstringYes

Analytics

hookbase_get_analytics

Get dashboard analytics and metrics for the organization, including event counts, delivery success rates, and top sources/destinations.

ParameterTypeRequiredDescription
range1h | 24h | 7d | 30dNoTime range for analytics (default: 24h)

Filters

hookbase_list_filters

List filter definitions in the organization. Filters are reusable condition sets attached to routes to gate which events are delivered.

ParameterTypeRequiredDescription
pagenumberNo
page_sizenumberNoPage size (max 100)

hookbase_get_filter

Get a filter definition including its conditions and AND/OR logic.

ParameterTypeRequiredDescription
filter_idstringYesFilter ID or slug

hookbase_create_filter

Create a reusable filter that can be attached to routes. A filter evaluates a list of conditions (combined via AND or OR) against incoming event payloads.

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo
slugstringNoURL-safe identifier (auto-derived from name if omitted)
conditionsobject[]Yes
logicAND | ORNoHow conditions combine (default AND)

hookbase_update_filter

Update a filter's name, description, conditions, or logic. Pass only the fields you want to change.

ParameterTypeRequiredDescription
filter_idstringYes
namestringNo
descriptionstring,nullNo
conditionsobject[]No
logicAND | ORNo

hookbase_delete_filter

Delete a filter. Routes referencing it will have the reference cleared.

ParameterTypeRequiredDescription
filter_idstringYes

Transforms

hookbase_list_transforms

List transform definitions. Transforms reshape an event payload before delivery (JSONata, XSLT, Liquid, or JavaScript).

ParameterTypeRequiredDescription
pagenumberNo
page_sizenumberNo

hookbase_get_transform

Get a transform definition including its source code, language, and input/output formats.

ParameterTypeRequiredDescription
transform_idstringYesTransform ID or slug

hookbase_create_transform

Create a transform that reshapes payloads. The code is validated server-side before being saved. Requires the "transforms" feature on the org plan.

ParameterTypeRequiredDescription
namestringYes
slugstringNo
descriptionstringNo
codestringYesTransform expression / source. JSONata is the default.
transform_typejsonata | xslt | liquid | javascriptNoDefault: jsonata
input_formatjson | xml | textNoDefault: json
output_formatanyNoDefault: json

hookbase_update_transform

Update a transform. If code changes it is re-validated server-side.

ParameterTypeRequiredDescription
transform_idstringYes
namestringNo
descriptionstring,nullNo
codestringNo
transform_typejsonata | xslt | liquid | javascriptNo
input_formatjson | xml | textNo
output_formatanyNo
is_activebooleanNo

hookbase_delete_transform

Delete a transform. Routes referencing it will have the reference cleared.

ParameterTypeRequiredDescription
transform_idstringYes

hookbase_test_transform

Run a transform expression against a sample payload without saving. Useful for iterating on JSONata/XSLT/Liquid/JS code.

ParameterTypeRequiredDescription
codestringYes
payloadanyNoSample payload (object/string depending on input_format)
transform_typejsonata | xslt | liquid | javascriptNo
input_formatjson | xml | textNo
output_formatanyNo

Schemas

hookbase_list_schemas

List JSON Schema definitions in the organization. Schemas validate event payloads on routes and reject malformed deliveries.

Parameters: None

hookbase_get_schema

Get a JSON Schema definition (parsed as an object).

ParameterTypeRequiredDescription
schema_idstringYesSchema ID or slug

hookbase_create_schema

Create a JSON Schema. Requires the "schemas" feature on the org plan. The slug is derived from the name.

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo
json_schemaobjectYesA valid JSON Schema object

hookbase_update_schema

Update a schema. Pass any subset of name/description/json_schema. Uses HTTP PUT under the hood.

ParameterTypeRequiredDescription
schema_idstringYes
namestringNo
descriptionstring,nullNo
json_schemaobjectNo

hookbase_delete_schema

Delete a schema. Routes referencing it will have the reference cleared.

ParameterTypeRequiredDescription
schema_idstringYes

hookbase_validate_against_schema

Validate a sample payload against a stored schema and return any validation errors.

ParameterTypeRequiredDescription
schema_idstringYes
payloadanyNo

Alert Rules

hookbase_list_alert_rules

List configured alert rules. Each rule pairs a trigger condition (failure rate, source silence, latency, volume anomalies, schema drift) with one or more notification channels.

Parameters: None

hookbase_get_alert_rule

Get a single alert rule including its trigger config and notification channel IDs.

ParameterTypeRequiredDescription
rule_idstringYes

hookbase_create_alert_rule

Create an alert rule. trigger_config shape depends on trigger_type: - source_silence: { type, sourceId?, silenceMinutes } - failure_rate: { type, destinationId?, thresholdPercent, windowMinutes } - latency_threshold: { type, destinationId?, thresholdMs, windowMinutes } - volume_spike: { type, sourceId?, maxEvents, windowMinutes } - volume_drop: { type, sourceId?, minEvents, windowMinutes } - anomaly_volume: { type, sourceId, direction?, zThreshold?, windowMinutes?, minBaselineSamples? } (Pro+ only) - schema_drift: { type, sourceId, alertOn? } (Pro+ only) The "type" field inside trigger_config must equal trigger_type.

ParameterTypeRequiredDescription
namestringYes
trigger_typesource_silence | failure_rate | latency_threshold | volume_spike | volume_drop | anomaly_volume | schema_driftYes
trigger_configobjectYesDiscriminated config matching trigger_type — see tool description
notification_channel_idsstring[]YesIDs of notification channels to fire
cooldown_minutesintegerNoDefault 30

hookbase_update_alert_rule

Update an alert rule. Pass only fields you want to change.

ParameterTypeRequiredDescription
rule_idstringYes
namestringNo
trigger_configobjectNo
notification_channel_idsstring[]No
cooldown_minutesintegerNo
is_activebooleanNo

hookbase_delete_alert_rule

Delete an alert rule.

ParameterTypeRequiredDescription
rule_idstringYes

hookbase_test_alert_rule

Fire a test notification through all channels attached to this alert rule. Useful for verifying channel configuration.

ParameterTypeRequiredDescription
rule_idstringYes

Notification Channels

hookbase_list_notification_channels

List notification channels (email, Slack, webhook, Teams, PagerDuty, Discord). Sensitive fields like webhook URLs and PagerDuty routing keys are masked in the response.

Parameters: None

hookbase_get_notification_channel

Get a single notification channel. Sensitive fields are masked in the response.

ParameterTypeRequiredDescription
channel_idstringYes

hookbase_create_notification_channel

Create a notification channel. config shape depends on type: - email: { addresses: ["[email protected]", ...] } - slack: { webhookUrl } - discord: { webhookUrl } - teams: { webhookUrl } - pagerduty: { routingKey, severity? } - webhook: { url, secret? } (signed with HMAC-SHA256 if secret provided) Requires the "notification_channels" feature on the org plan; admin or owner role required.

ParameterTypeRequiredDescription
namestringYes
typeemail | slack | webhook | teams | pagerduty | discordYes
configobjectYesChannel-specific config — see tool description

hookbase_update_notification_channel

Update a notification channel. Pass any subset of name/config/is_active. Replacing config requires the same shape as create.

ParameterTypeRequiredDescription
channel_idstringYes
namestringNo
configobjectNo
is_activebooleanNo

hookbase_delete_notification_channel

Delete a notification channel. Alert rules referencing it will lose this channel from their notification list.

ParameterTypeRequiredDescription
channel_idstringYes

Outbound Webhooks (Applications, Endpoints, Subscriptions)

hookbase_list_applications

List webhook applications in the organization. Applications group endpoints that receive outbound webhooks for a customer or integration.

ParameterTypeRequiredDescription
searchstringNoSearch by application name
is_enabledbooleanNoFilter by enabled status (false = disabled)
limitnumberNoMaximum number of results (default 50, max 100)
cursorstringNoPagination cursor for next page

hookbase_get_application

Get detailed information about a specific webhook application, including its endpoints and delivery statistics.

ParameterTypeRequiredDescription
application_idstringYesThe ID of the webhook application

hookbase_create_application

Create a new webhook application. Applications represent a customer or integration that will receive webhooks.

ParameterTypeRequiredDescription
namestringYesDisplay name for the application
external_idstringNoYour system's ID for this customer/application
metadataobjectNoCustom metadata as key-value pairs
rate_limit_per_secondnumberNoMax events per second (default 100)
rate_limit_per_minutenumberNoMax events per minute (default 1000)
rate_limit_per_hournumberNoMax events per hour (default 10000)

hookbase_update_application

Update a webhook application configuration.

ParameterTypeRequiredDescription
application_idstringYesThe ID of the application to update
namestringNoNew display name
metadataobjectNoUpdated metadata
rate_limit_per_secondnumberNoMax events per second
rate_limit_per_minutenumberNoMax events per minute
rate_limit_per_hournumberNoMax events per hour
is_enabledbooleanNoEnable or disable the application
disabled_reasonstringNoReason for disabling (when is_enabled=false)

hookbase_delete_application

Delete a webhook application. This also deletes all endpoints and subscriptions for this application.

ParameterTypeRequiredDescription
application_idstringYesThe ID of the application to delete

hookbase_list_endpoints

List webhook endpoints. Endpoints are URLs that receive webhook deliveries.

ParameterTypeRequiredDescription
application_idstringNoFilter by application ID
is_enabledbooleanNoFilter by enabled status (false = disabled)
circuit_stateclosed | open | half_openNoFilter by circuit breaker state
limitnumberNoMaximum number of results (default 50, max 100)
cursorstringNoPagination cursor for next page

hookbase_get_endpoint

Get detailed information about a webhook endpoint, including circuit breaker state and delivery statistics.

ParameterTypeRequiredDescription
endpoint_idstringYesThe ID of the endpoint

hookbase_create_endpoint

Create a new webhook endpoint. The signing secret is only returned once on creation - save it securely.

ParameterTypeRequiredDescription
application_idstringYesThe application ID this endpoint belongs to
urlstringYesThe HTTPS URL to receive webhooks
descriptionstringNoDescription of the endpoint
headersobject[]NoCustom headers to include in requests
timeout_secondsnumberNoRequest timeout in seconds (default 30)
circuit_failure_thresholdnumberNoFailures before opening circuit (default 5)
circuit_success_thresholdnumberNoSuccesses to close circuit (default 2)
circuit_cooldown_secondsnumberNoCooldown before half-open (default 60)

hookbase_update_endpoint

Update a webhook endpoint configuration.

ParameterTypeRequiredDescription
endpoint_idstringYesThe ID of the endpoint to update
urlstringNoNew HTTPS URL
descriptionstringNoNew description
headersobject[]NoUpdated custom headers
timeout_secondsnumberNoRequest timeout in seconds
is_enabledbooleanNoEnable or disable the endpoint
disabled_reasonstringNoReason for disabling (when is_enabled=false)
circuit_failure_thresholdnumberNoFailures before opening circuit
circuit_success_thresholdnumberNoSuccesses to close circuit
circuit_cooldown_secondsnumberNoCooldown before half-open

hookbase_delete_endpoint

Delete a webhook endpoint. This also removes all subscriptions for this endpoint.

ParameterTypeRequiredDescription
endpoint_idstringYesThe ID of the endpoint to delete

hookbase_rotate_endpoint_secret

Rotate the signing secret for an endpoint. Returns the new secret (save it securely). Old secret remains valid during grace period.

ParameterTypeRequiredDescription
endpoint_idstringYesThe ID of the endpoint
grace_period_secondsnumberNoHow long old secret remains valid (default 3600 = 1 hour)

hookbase_reset_endpoint_circuit

Reset the circuit breaker for an endpoint. Use this to immediately re-enable deliveries after fixing an issue.

ParameterTypeRequiredDescription
endpoint_idstringYesThe ID of the endpoint

hookbase_list_subscriptions

List webhook subscriptions. Subscriptions connect endpoints to event types they should receive.

ParameterTypeRequiredDescription
endpoint_idstringNoFilter by endpoint ID
event_type_idstringNoFilter by event type ID
application_idstringNoFilter by application ID
is_enabledbooleanNoFilter by enabled status
limitnumberNoMaximum number of results (default 50, max 100)
cursorstringNoPagination cursor for next page

hookbase_get_subscription

Get detailed information about a webhook subscription.

ParameterTypeRequiredDescription
subscription_idstringYesThe ID of the subscription

hookbase_create_subscription

Create a subscription to connect an endpoint to an event type. The endpoint will receive events of this type. Use label_filters to only receive events with matching labels.

ParameterTypeRequiredDescription
endpoint_idstringYesThe endpoint ID to subscribe
event_type_idstringYesThe event type ID to subscribe to
filter_expressionstringNoJSONata expression to filter events
label_filtersobjectNoLabel filters to match against event labels (e.g., {"environment": "production"} or {"region": ["us-east", "us-west"]})
label_filter_modeall | anyNoFilter mode: "all" requires all filters to match (AND), "any" requires at least one filter to match (OR). Default: "all"
transform_idstringNoTransform ID to modify payload before delivery
is_enabledbooleanNoEnable the subscription (default true)

hookbase_update_subscription

Update a webhook subscription.

ParameterTypeRequiredDescription
subscription_idstringYesThe ID of the subscription to update
filter_expressionstringNoNew filter expression (null to remove)
label_filtersunionNoLabel filters to match against event labels (null to remove)
label_filter_modeunionNoFilter mode: "all" (AND) or "any" (OR)
transform_idstringNoNew transform ID (null to remove)
is_enabledbooleanNoEnable or disable the subscription

hookbase_delete_subscription

Delete a webhook subscription. The endpoint will no longer receive events of this type.

ParameterTypeRequiredDescription
subscription_idstringYesThe ID of the subscription to delete

Event Types

hookbase_list_event_types

List event types defined in the organization. Event types define the different kinds of webhook events that can be sent.

ParameterTypeRequiredDescription
categorystringNoFilter by category
is_enabledbooleanNoFilter by enabled status
searchstringNoSearch by event type name
limitnumberNoMaximum number of results (default 50, max 100)
cursorstringNoPagination cursor for next page

hookbase_get_event_type

Get detailed information about an event type, including its JSON schema and example payload.

ParameterTypeRequiredDescription
event_type_idstringYesThe ID of the event type

hookbase_create_event_type

Create a new event type. Event types define the structure and meaning of webhook events.

ParameterTypeRequiredDescription
namestringYesEvent type name (lowercase, dot-separated, e.g., "order.created")
display_namestringNoHuman-readable name
descriptionstringNoDescription of when this event is triggered
categorystringNoCategory for grouping (e.g., "orders", "users")
schemastringNoJSON Schema for payload validation
example_payloadstringNoExample payload as JSON string
documentation_urlstringNoURL to event documentation
is_enabledbooleanNoEnable the event type (default true)

hookbase_update_event_type

Update an event type. Use is_deprecated to mark an event type as deprecated.

ParameterTypeRequiredDescription
event_type_idstringYesThe ID of the event type to update
display_namestringNoNew human-readable name
descriptionstringNoNew description
categorystringNoNew category (null to remove)
schemastringNoNew JSON Schema (null to remove)
example_payloadstringNoNew example payload (null to remove)
documentation_urlstringNoNew documentation URL (null to remove)
is_enabledbooleanNoEnable or disable the event type
is_deprecatedbooleanNoMark as deprecated
deprecated_messagestringNoMessage explaining deprecation

hookbase_delete_event_type

Delete an event type. This also removes all subscriptions to this event type.

ParameterTypeRequiredDescription
event_type_idstringYesThe ID of the event type to delete

Outbound Messages

hookbase_send_event

Send a webhook event to all subscribed endpoints. The event is queued for delivery to matching subscriptions. Use labels for filtering which subscriptions receive the event.

ParameterTypeRequiredDescription
event_typestringYesEvent type name (e.g., "order.created")
payloadanyNoEvent payload (any JSON-serializable data)
application_idstringNoTarget a specific application only
endpoint_idstringNoTarget a specific endpoint only
idempotency_keystringNoUnique key to prevent duplicate delivery
labelsobjectNoLabels for filtering subscriptions (e.g., {"environment": "production", "region": "us-east"})
metadataobjectNoAdditional metadata for the event

hookbase_list_outbound_messages

List outbound message delivery records. Messages track the delivery status of each event to each endpoint.

ParameterTypeRequiredDescription
statuspending | processing | success | failed | exhaustedNoFilter by delivery status
event_typestringNoFilter by event type name
application_idstringNoFilter by application ID
endpoint_idstringNoFilter by endpoint ID
limitnumberNoMaximum number of results (default 50, max 100)
cursorstringNoPagination cursor for next page

hookbase_get_outbound_message

Get detailed information about an outbound message delivery.

ParameterTypeRequiredDescription
message_idstringYesThe ID of the message

hookbase_get_message_attempts

Get the delivery attempt history for an outbound message. Shows each attempt with response details.

ParameterTypeRequiredDescription
message_idstringYesThe ID of the message

hookbase_replay_message

Replay a failed or exhausted message. Creates a new delivery attempt for the original event payload.

ParameterTypeRequiredDescription
message_idstringYesThe ID of the message to replay

hookbase_get_outbound_stats

Get delivery statistics for outbound webhooks. Shows counts by status (pending, success, failed, etc.).

Parameters: None

Webhook Analytics

hookbase_get_webhook_analytics

Get outbound webhook delivery analytics: status counts, success rate, latency percentiles, top failing endpoints, error type breakdown, DLQ reasons, and a time-bucketed chart series. Optionally filter by application_id and/or endpoint_id.

ParameterTypeRequiredDescription
time_range1h | 24h | 7d | 30dNoDefault "24h"
application_idstringNo
endpoint_idstringNo

hookbase_get_webhook_endpoint_analytics

Get analytics for a single outbound webhook endpoint: circuit-breaker state, lifetime totals, status counts, average response time, and the most recent 100 delivery attempts in the window.

ParameterTypeRequiredDescription
endpoint_idstringYes
time_range1h | 24h | 7d | 30dNoDefault "24h"

API Keys

hookbase_list_api_keys

List API keys for the current org. Returns id, name, key prefix, scopes, expiry — never the raw key (which is only returned once at creation).

Parameters: None

hookbase_create_api_key

Create a new API key (admin or owner only). The raw key is returned ONCE in the response under apiKey.key — store it securely; it cannot be retrieved later. Default scopes are ["read","write"]. Pass expiresIn (seconds from now) for time-limited keys.

ParameterTypeRequiredDescription
namestringYes
scopesstring[]NoDefault ["read","write"]
expires_inintegerNoSeconds from now until expiry (omit for no expiry)

hookbase_delete_api_key

Delete (revoke) an API key. Admin or owner only, requires the "delete" scope. The key currently being used to authenticate this request cannot be deleted.

ParameterTypeRequiredDescription
key_idstringYes

Audit Logs

hookbase_list_audit_logs

List org audit log entries with optional filters. Admins/owners always have access; non-admins require the "audit_logs" feature on the plan. Filter by action, entityType, or userId.

ParameterTypeRequiredDescription
limitintegerNoDefault 50, max 100
offsetintegerNo
actionstringNoExact action string (see hookbase_list_audit_log_actions)
entity_typestringNoExact entity_type string (e.g. "source", "destination")
user_idstringNo

hookbase_list_audit_log_actions

List the distinct action types present in this org's audit log. Useful for discovering filter values.

Parameters: None

hookbase_list_audit_log_users

List the distinct users who appear in this org's audit log. Useful for discovering user_id filter values.

Parameters: None

Redaction Policies

hookbase_list_redaction_policies

List redaction policies for this org. Optionally filter by source_id (org-wide policies have null sourceId).

ParameterTypeRequiredDescription
source_idstringNo

hookbase_get_redaction_policy

Get a single redaction policy with its full ruleset.

ParameterTypeRequiredDescription
policy_idstringYes

hookbase_create_redaction_policy

Create a redaction policy (admin or owner; requires the "redaction_policies" feature). Each rule has a match (type: path | field_name | regex_value | header, value) and action (type: redact | mask | hash | remove, optional keepLastN for mask). Pass source_id to scope to one source, omit/null for org-wide. scope controls when rules apply: "storage" (before R2 write), "delivery" (before forwarding), or "both" (default).

ParameterTypeRequiredDescription
namestringYes
source_idunionNo
rulesobject[]Yes
scopestorage | delivery | bothNoDefault "both"

hookbase_update_redaction_policy

Update a redaction policy. PUT semantics — pass the full policy state (name, rules, scope, isActive). Optional source_id reassigns the policy. Cache busts on save but org-wide policies (sourceId null) may take up to 5 min to propagate.

ParameterTypeRequiredDescription
policy_idstringYes
namestringYes
source_idunionNo
rulesobject[]Yes
scopestorage | delivery | bothYes
is_activebooleanYes

hookbase_delete_redaction_policy

Delete a redaction policy (admin or owner).

ParameterTypeRequiredDescription
policy_idstringYes

hookbase_preview_redaction_policy

Apply a candidate ruleset to a sample payload (and optional headers) without saving. Returns the redacted payload, redacted headers, and the count of fields touched.

ParameterTypeRequiredDescription
rulesobject[]Yes
payloadanyNo
headersobjectNo

Scheduled Sends

hookbase_list_scheduled_sends

List one-shot scheduled HTTP sends. Optionally filter by status (pending | sending | sent | failed | cancelled). Paginated.

ParameterTypeRequiredDescription
statuspending | sending | sent | failed | cancelledNo
pageintegerNo
page_sizeintegerNoDefault 20

hookbase_get_scheduled_send

Get a single scheduled send including its current status, response, and error info.

ParameterTypeRequiredDescription
send_idstringYes

hookbase_create_scheduled_send

Schedule a one-shot HTTP request to fire at a future time. URL must be http or https. scheduled_for must be a future ISO-8601 timestamp. Default method POST. headers and payload are arbitrary objects (JSON-encoded server-side).

ParameterTypeRequiredDescription
urlstringYes
scheduled_forstringYesISO-8601 timestamp; must be in the future
namestringNo
descriptionstringNo
methodstringNoDefault "POST"
headersobjectNo
payloadanyNo
timezonestringNoDefault "UTC" — display only; scheduled_for is the source of truth
max_attemptsintegerNoDefault 3

hookbase_update_scheduled_send

Update a scheduled send. Only allowed while status is "pending". Pass any subset of fields to change.

ParameterTypeRequiredDescription
send_idstringYes
namestringNo
descriptionstringNo
urlstringNo
methodstringNo
headersobjectNo
payloadanyNo
scheduled_forstringNoISO-8601, must be in the future
timezonestringNo
max_attemptsintegerNo

hookbase_cancel_scheduled_send

Cancel a pending or failed scheduled send. Sent or already-cancelled sends cannot be cancelled.

ParameterTypeRequiredDescription
send_idstringYes

hookbase_send_scheduled_send_now

Trigger a pending or failed scheduled send immediately, bypassing its scheduled_for time. Returns the live HTTP response status and latency.

ParameterTypeRequiredDescription
send_idstringYes

Test Webhook Bins

hookbase_create_bin

Create a new test webhook bin. Returns a public ingest URL that captures any HTTP request sent to it. Bins expire after a fixed TTL. Rate-limited to 10 per IP per day.

Parameters: None

hookbase_get_bin

Get a bin's metadata, current event count, configured response, and the 50 most recent captured events (summary form).

ParameterTypeRequiredDescription
bin_idstringYes

hookbase_list_bin_events

List captured events in a bin (summary view, paginated). Use hookbase_get_bin_event for a single event's headers and body.

ParameterTypeRequiredDescription
bin_idstringYes
limitintegerNoDefault 50
offsetintegerNo

hookbase_get_bin_event

Get a single bin event with full headers and body. Body is fetched from R2 if it was offloaded.

ParameterTypeRequiredDescription
bin_idstringYes
event_idstringYes

hookbase_update_bin_response

Configure the response a bin returns to incoming webhook requests. status_code clamped to 100–599, body capped at 10KB. Useful for simulating different upstream behavior during integration testing.

ParameterTypeRequiredDescription
bin_idstringYes
status_codeintegerNoDefault 200
headersobjectNo
bodystringNo
PreviousOverview

On this page

Sourceshookbase_list_sourceshookbase_get_sourcehookbase_create_sourcehookbase_update_sourcehookbase_delete_sourceDestinationshookbase_list_destinationshookbase_get_destinationhookbase_create_destinationhookbase_update_destinationhookbase_delete_destinationhookbase_test_destinationRouteshookbase_list_routeshookbase_get_routehookbase_create_routehookbase_update_routehookbase_delete_routeEventshookbase_list_eventshookbase_get_eventhookbase_get_event_debugDeliverieshookbase_list_deliverieshookbase_get_deliveryhookbase_replay_deliveryhookbase_bulk_replayhookbase_replay_with_edithookbase_list_delivery_clustershookbase_replay_clusterTunnelshookbase_list_tunnelshookbase_create_tunnelhookbase_get_tunnel_statushookbase_delete_tunnelCron Jobshookbase_list_cron_jobshookbase_create_cron_jobhookbase_get_cron_jobhookbase_update_cron_jobhookbase_delete_cron_jobhookbase_trigger_cronCron Groupshookbase_list_cron_groupshookbase_get_cron_grouphookbase_create_cron_grouphookbase_update_cron_grouphookbase_delete_cron_groupAnalyticshookbase_get_analyticsFiltershookbase_list_filtershookbase_get_filterhookbase_create_filterhookbase_update_filterhookbase_delete_filterTransformshookbase_list_transformshookbase_get_transformhookbase_create_transformhookbase_update_transformhookbase_delete_transformhookbase_test_transformSchemashookbase_list_schemashookbase_get_schemahookbase_create_schemahookbase_update_schemahookbase_delete_schemahookbase_validate_against_schemaAlert Ruleshookbase_list_alert_ruleshookbase_get_alert_rulehookbase_create_alert_rulehookbase_update_alert_rulehookbase_delete_alert_rulehookbase_test_alert_ruleNotification Channelshookbase_list_notification_channelshookbase_get_notification_channelhookbase_create_notification_channelhookbase_update_notification_channelhookbase_delete_notification_channelOutbound Webhooks (Applications, Endpoints, Subscriptions)hookbase_list_applicationshookbase_get_applicationhookbase_create_applicationhookbase_update_applicationhookbase_delete_applicationhookbase_list_endpointshookbase_get_endpointhookbase_create_endpointhookbase_update_endpointhookbase_delete_endpointhookbase_rotate_endpoint_secrethookbase_reset_endpoint_circuithookbase_list_subscriptionshookbase_get_subscriptionhookbase_create_subscriptionhookbase_update_subscriptionhookbase_delete_subscriptionEvent Typeshookbase_list_event_typeshookbase_get_event_typehookbase_create_event_typehookbase_update_event_typehookbase_delete_event_typeOutbound Messageshookbase_send_eventhookbase_list_outbound_messageshookbase_get_outbound_messagehookbase_get_message_attemptshookbase_replay_messagehookbase_get_outbound_statsWebhook Analyticshookbase_get_webhook_analyticshookbase_get_webhook_endpoint_analyticsAPI Keyshookbase_list_api_keyshookbase_create_api_keyhookbase_delete_api_keyAudit Logshookbase_list_audit_logshookbase_list_audit_log_actionshookbase_list_audit_log_usersRedaction Policieshookbase_list_redaction_policieshookbase_get_redaction_policyhookbase_create_redaction_policyhookbase_update_redaction_policyhookbase_delete_redaction_policyhookbase_preview_redaction_policyScheduled Sendshookbase_list_scheduled_sendshookbase_get_scheduled_sendhookbase_create_scheduled_sendhookbase_update_scheduled_sendhookbase_cancel_scheduled_sendhookbase_send_scheduled_send_nowTest Webhook Binshookbase_create_binhookbase_get_binhookbase_list_bin_eventshookbase_get_bin_eventhookbase_update_bin_response