Notifications API
Multi-channel notification system supporting Feishu, Slack, Microsoft Teams, generic webhooks, and email (SMTP).
Channels
List Channels
http
GET /api/v1/workspaces/{workspace_id}/notification-channels
Authorization: Bearer <token>Response 200 OK
json
[
{
"id": "uuid",
"workspace_id": "uuid",
"name": "Dev Team Feishu",
"channel_type": "feishu",
"config": { "webhook_url": "https://open.feishu.cn/..." },
"enabled": true,
"created_at": "2026-01-01T00:00:00Z"
}
]Create Channel
Requires admin role.
http
POST /api/v1/workspaces/{workspace_id}/notification-channels
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Slack Engineering",
"channel_type": "slack",
"config": {
"webhook_url": "https://hooks.slack.com/services/..."
},
"enabled": true
}Supported Channel Types
| Type | Config Fields |
|---|---|
feishu | webhook_url |
slack | webhook_url |
teams | webhook_url |
webhook | url, secret (HMAC), headers |
email | smtp_host, smtp_port, smtp_user, smtp_password, from_address, to_addresses[] |
Update / Delete
http
PUT /api/v1/workspaces/{workspace_id}/notification-channels/{channel_id}
DELETE /api/v1/workspaces/{workspace_id}/notification-channels/{channel_id}
Authorization: Bearer <token>Test Channel
Sends a test notification to verify connectivity.
http
POST /api/v1/workspaces/{workspace_id}/notification-channels/{channel_id}/test
Authorization: Bearer <token>Subscriptions
Subscriptions define which events trigger notifications on a channel.
List Subscriptions
http
GET /api/v1/notification-channels/{channel_id}/subscriptions
Authorization: Bearer <token>Create Subscription
http
POST /api/v1/notification-channels/{channel_id}/subscriptions
Authorization: Bearer <token>
Content-Type: application/json
{
"event_pattern": "gate.*",
"filter_project_id": "uuid"
}Event Patterns support wildcards: gate.*, execution.*, deployment.*, etc.
Delete Subscription
http
DELETE /api/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}
Authorization: Bearer <token>Notification Logs
View the history of sent notifications.
http
GET /api/v1/notification-channels/{channel_id}/logs?limit=20
Authorization: Bearer <token>