naftiko: "1.0.0-alpha2"
info:
title: Gravitee Alert Engine Bridge
description: >-
Configures Gravitee Alert Engine triggers (latency, error-rate,
quota, anomaly, AI-token-spend) and bridges fired alerts back into
Naftiko's notification + observability pipeline. Lets a Naftiko
capability declare alerting intent once and have both Gravitee
Alert Engine and Naftiko-side webhooks react to the same signals.
tags:
- Naftiko
- Gravitee
- Partnership
- Alerts
- Notifications
- Observability
created: '2026-05-15'
modified: '2026-05-15'
binds:
- namespace: gravitee-env
description: Gravitee APIM Management endpoint + token.
keys:
GRAVITEE_APIM_BASE: GRAVITEE_APIM_BASE
GRAVITEE_APIM_TOKEN: GRAVITEE_APIM_TOKEN
capability:
consumes:
- namespace: gravitee
type: http
baseUri: '{{GRAVITEE_APIM_BASE}}'
authentication:
type: bearer
token: '{{GRAVITEE_APIM_TOKEN}}'
resources:
- name: alert-triggers
path: '/management/v2/environments/{{env_id}}/alert-triggers'
operations:
- name: list-alert-triggers
method: GET
inputParameters:
- { name: env_id, in: path, required: true }
- name: create-alert-trigger
method: POST
inputParameters:
- { name: env_id, in: path, required: true }
- name: alert-trigger
path: '/management/v2/environments/{{env_id}}/alert-triggers/{{trigger_id}}'
operations:
- name: get-alert-trigger
method: GET
inputParameters:
- { name: env_id, in: path, required: true }
- { name: trigger_id, in: path, required: true }
- name: update-alert-trigger
method: PUT
inputParameters:
- { name: env_id, in: path, required: true }
- { name: trigger_id, in: path, required: true }
- name: delete-alert-trigger
method: DELETE
inputParameters:
- { name: env_id, in: path, required: true }
- { name: trigger_id, in: path, required: true }
- name: alert-events
path: '/management/v2/environments/{{env_id}}/alert-events'
operations:
- name: list-alert-events
method: GET
inputParameters:
- { name: env_id, in: path, required: true }
- { name: since, in: query, required: false }
- { name: trigger_id, in: query, required: false }
- name: notifications
path: '/management/v2/environments/{{env_id}}/notifiers'
operations:
- name: list-notifiers
method: GET
inputParameters:
- { name: env_id, in: path, required: true }
- name: create-notifier
method: POST
inputParameters:
- { name: env_id, in: path, required: true }
exposes:
- type: rest
address: 0.0.0.0
port: 8080
namespace: gravitee-alert-engine-bridge-rest
description: REST surface for managing Gravitee Alert Engine triggers + events.
resources:
- name: alert-triggers
path: '/environments/{env_id}/alert-triggers'
operations:
- name: list-alert-triggers
method: GET
inputParameters:
- { name: env_id, in: path, type: string, required: true }
call: gravitee.list-alert-triggers
- name: create-alert-trigger
method: POST
inputParameters:
- { name: env_id, in: path, type: string, required: true }
call: gravitee.create-alert-trigger
- name: alert-trigger
path: '/environments/{env_id}/alert-triggers/{trigger_id}'
operations:
- name: get-alert-trigger
method: GET
inputParameters:
- { name: env_id, in: path, type: string, required: true }
- { name: trigger_id, in: path, type: string, required: true }
call: gravitee.get-alert-trigger
- name: update-alert-trigger
method: PUT
inputParameters:
- { name: env_id, in: path, type: string, required: true }
- { name: trigger_id, in: path, type: string, required: true }
call: gravitee.update-alert-trigger
- name: delete-alert-trigger
method: DELETE
inputParameters:
- { name: env_id, in: path, type: string, required: true }
- { name: trigger_id, in: path, type: string, required: true }
call: gravitee.delete-alert-trigger
- name: alert-events
path: '/environments/{env_id}/alert-events'
operations:
- name: list-alert-events
method: GET
inputParameters:
- { name: env_id, in: path, type: string, required: true }
- { name: since, in: query, type: string, required: false }
- { name: trigger_id, in: query, type: string, required: false }
call: gravitee.list-alert-events
- name: notifiers
path: '/environments/{env_id}/notifiers'
operations:
- name: list-notifiers
method: GET
inputParameters:
- { name: env_id, in: path, type: string, required: true }
call: gravitee.list-notifiers
- name: create-notifier
method: POST
inputParameters:
- { name: env_id, in: path, type: string, required: true }
call: gravitee.create-notifier
- type: mcp
address: 0.0.0.0
port: 3010
namespace: gravitee-alert-engine-bridge-mcp
description: MCP server for managing Gravitee Alert Engine triggers and reading fired events.
tools:
- name: list-alert-triggers
description: List Gravitee Alert Engine triggers in an environment.
hints: { readOnly: true }
inputParameters:
- { name: env_id, type: string, required: true }
call: gravitee.list-alert-triggers
- name: create-alert-trigger
description: Create a new Gravitee Alert Engine trigger (latency, errors, quota, AI-token-spend, etc.).
hints: { destructiveHint: false }
inputParameters:
- { name: env_id, type: string, required: true }
call: gravitee.create-alert-trigger
- name: get-alert-trigger
description: Get a single Gravitee Alert Engine trigger.
hints: { readOnly: true }
inputParameters:
- { name: env_id, type: string, required: true }
- { name: trigger_id, type: string, required: true }
call: gravitee.get-alert-trigger
- name: update-alert-trigger
description: Update a Gravitee Alert Engine trigger.
hints: { destructiveHint: true }
inputParameters:
- { name: env_id, type: string, required: true }
- { name: trigger_id, type: string, required: true }
call: gravitee.update-alert-trigger
- name: delete-alert-trigger
description: Delete a Gravitee Alert Engine trigger.
hints: { destructiveHint: true }
inputParameters:
- { name: env_id, type: string, required: true }
- { name: trigger_id, type: string, required: true }
call: gravitee.delete-alert-trigger
- name: list-alert-events
description: List fired Gravitee alert events (filterable by trigger or time window).
hints: { readOnly: true }
inputParameters:
- { name: env_id, type: string, required: true }
- { name: since, type: string, required: false }
- { name: trigger_id, type: string, required: false }
call: gravitee.list-alert-events
- name: list-notifiers
description: List configured Gravitee notification channels (Slack, Webhook, Email).
hints: { readOnly: true }
inputParameters:
- { name: env_id, type: string, required: true }
call: gravitee.list-notifiers
- name: create-notifier
description: Create a new Gravitee notification channel.
hints: { destructiveHint: false }
inputParameters:
- { name: env_id, type: string, required: true }
call: gravitee.create-notifier