openapi: 3.2.0 info: title: Hookbase Alert Rules API version: 1.0.0 description: Official OpenAPI 3.0 specification for the Hookbase webhook relay platform. Generated from the maintained Postman collection. Authenticate with an API key (whr_ prefix) as a Bearer token. contact: name: Hookbase url: https://www.hookbase.app servers: - url: https://api.hookbase.app description: Production security: - bearerAuth: [] tags: - name: Alert Rules paths: /api/alert-rules: post: tags: - Alert Rules summary: Create alert rule operationId: alert_rules_create_alert_rule responses: '200': description: Successful response description: Create a rule that notifies channels on source silence, failure/latency spikes, volume anomalies, or schema drift. requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Required. Rule name (1–100). triggerType: type: string description: Required. source_silence | failure_rate | latency_threshold | volume_spike | volume_drop | anomaly_volume | schema_drift. triggerConfig: type: object description: 'Required. Config object; its `type` must equal triggerType. e.g. failure_rate: {type, destinationId?, thresholdPercent (1–100), windowMinutes (5–1440)}. See the Alert Rules doc for every trigger''s shape.' notificationChannels: type: array items: type: string description: Required. Channel ids to notify (at least one). cooldownMinutes: type: integer description: Optional. Minimum minutes between alerts (1–1440, default 30). required: - name - triggerType - triggerConfig - notificationChannels example: name: Prod API failure rate triggerType: failure_rate triggerConfig: type: failure_rate destinationId: '{{destinationId}}' thresholdPercent: 25 windowMinutes: 15 notificationChannels: - '{{notificationChannelId}}' cooldownMinutes: 30 get: tags: - Alert Rules summary: List alert rules operationId: alert_rules_list_alert_rules responses: '200': description: Successful response description: List alert rules for the org. /api/alert-rules/{alertRuleId}: get: tags: - Alert Rules summary: Get alert rule operationId: alert_rules_get_alert_rule parameters: - name: alertRuleId in: path required: true schema: type: string responses: '200': description: Successful response description: Fetch a single alert rule. patch: tags: - Alert Rules summary: Update alert rule operationId: alert_rules_update_alert_rule parameters: - name: alertRuleId in: path required: true schema: type: string responses: '200': description: Successful response description: Update an alert rule. All fields optional. requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: Optional. Rule name. triggerConfig: type: object description: 'Optional. Config object; its `type` must equal triggerType. e.g. failure_rate: {type, destinationId?, thresholdPercent (1–100), windowMinutes (5–1440)}. See the Alert Rules doc for every trigger''s shape.' notificationChannels: type: array items: type: string description: Optional. Channel ids (at least one). cooldownMinutes: type: integer description: Optional. Minutes between alerts (1–1440). isActive: type: boolean description: Optional. Enable/disable the rule. example: name: Prod API failure rate triggerConfig: type: failure_rate thresholdPercent: 25 windowMinutes: 15 notificationChannels: - '{{notificationChannelId}}' cooldownMinutes: 30 isActive: true delete: tags: - Alert Rules summary: Delete alert rule operationId: alert_rules_delete_alert_rule parameters: - name: alertRuleId in: path required: true schema: type: string responses: '200': description: Successful response description: Delete an alert rule by id. /api/alert-rules/{alertRuleId}/test: post: tags: - Alert Rules summary: Test alert rule operationId: alert_rules_test_alert_rule parameters: - name: alertRuleId in: path required: true schema: type: string responses: '200': description: Successful response description: Send a test notification to the rule's channels. components: securitySchemes: bearerAuth: type: http scheme: bearer description: Hookbase API key with the whr_ prefix.