openapi: 3.2.0 info: title: Hookbase Webhook Subscriptions 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: Webhook Subscriptions paths: /api/webhook-subscriptions: post: tags: - Webhook Subscriptions summary: Create subscription operationId: webhook_subscriptions_create_subscription responses: '200': description: Successful response description: Subscribe an endpoint to an event type, with optional filtering and transform. requestBody: required: true content: application/json: schema: type: object properties: endpointId: type: string description: Required. Endpoint to deliver to. eventTypeId: type: string description: Required. Event type to subscribe to. filterExpression: type: string description: Optional. Boolean filter expression (max 1000). labelFilters: type: object description: Optional. Match events by label values. labelFilterMode: type: string description: Optional. all | any (default all). transformId: type: string description: Optional. Transform applied before delivery. isEnabled: type: boolean description: Optional. Whether the subscription is active (default true). priorityOverride: type: integer description: Optional. Override priority 0–4 (null = inherit). required: - endpointId - eventTypeId example: endpointId: '{{webhookEndpointId}}' eventTypeId: '{{eventTypeId}}' filterExpression: payload.amount > 100 labelFilters: env: - prod labelFilterMode: all transformId: '{{transformId}}' isEnabled: true priorityOverride: 2 get: tags: - Webhook Subscriptions summary: List subscriptions operationId: webhook_subscriptions_list_subscriptions parameters: - name: endpointId in: query required: false schema: type: string responses: '200': description: Successful response description: List subscriptions (filter by ?endpointId=). /api/webhook-subscriptions/{webhookSubscriptionId}: get: tags: - Webhook Subscriptions summary: Get subscription by id operationId: webhook_subscriptions_get_subscription_by_id parameters: - name: webhookSubscriptionId in: path required: true schema: type: string responses: '200': description: Successful response description: Fetch a single subscription. patch: tags: - Webhook Subscriptions summary: Update subscription operationId: webhook_subscriptions_update_subscription parameters: - name: webhookSubscriptionId in: path required: true schema: type: string responses: '200': description: Successful response description: Update a subscription. All fields optional. requestBody: required: false content: application/json: schema: type: object properties: filterExpression: type: string description: Optional. Filter expression (null to clear). labelFilters: type: object description: Optional. Label filters (null to clear). labelFilterMode: type: string description: Optional. all | any. transformId: type: string description: Optional. Transform id (null to clear). isEnabled: type: boolean description: Optional. Enable/disable the subscription. priorityOverride: type: integer description: Optional. Priority override 0–4 (null = inherit). example: filterExpression: payload.amount > 100 labelFilters: env: - prod labelFilterMode: all transformId: '{{transformId}}' isEnabled: true priorityOverride: 2 components: securitySchemes: bearerAuth: type: http scheme: bearer description: Hookbase API key with the whr_ prefix.