notification
The notification domain has 6 actions. On the meta surface they are all reached through arcane_notification; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.
Summary
Section titled “Summary”| Action | Title | Kind |
|---|---|---|
notification.dispatch | Dispatch notification from remote agent to manager | write |
notification.settings_delete | Delete notification settings | destructive |
notification.settings_get | Get notification settings by provider | read |
notification.settings_list | Get all notification settings | read |
notification.settings_upsert | Create or update notification settings | write |
notification.test | Test notification | write |
Actions
Section titled “Actions”notification.dispatch
Section titled “notification.dispatch”Dispatch notification from remote agent to manager
- Kind: write
- Required parameters:
kind - Meta tool:
arcane_notificationwith"action": "dispatch" - Individual tool:
arcane_notification_dispatch - Arcane route:
POST /api/notifications/dispatch - Operation ID:
dispatch-notification - Usage: Agent-to-manager route: apiKey is a remote environment’s access token (the apiKey returned by environment.create with useApiKey), not a user API key. A wrong or missing token fails with 401. kind is one of image_update, batch_image_update, container_update, batch_container_update, vulnerability_found, prune_report, auto_heal, and the matching payload object (imageUpdate, batchImageUpdate, containerUpdate, batchContainerUpdate, vulnerabilityFound, pruneReport, autoHeal) must be set (a missing payload fails with 400 naming it). Sends a real notification, attributed to that environment, through every enabled provider subscribed to the event (and queues mobile push when it is enabled), and returns 500 “dispatch failed” if any provider send fails even though others may have delivered. delivered (providers that succeeded plus a queued push) is only counted for image_update and batch_image_update and is always 0 for the other kinds. batchImageUpdate entries without hasUpdate true are dropped, so a batch with none sends nothing. Use notification.test to check one provider instead.
- Related actions:
notification.test,notification.settings_list,environment.create
notification.settings_delete
Section titled “notification.settings_delete”Delete notification settings
- Kind: destructive — requires
confirm: true - Required parameters:
provider - Meta tool:
arcane_notificationwith"action": "settings_delete" - Individual tool:
arcane_notification_settings_delete - Arcane route:
DELETE /api/environments/{id}/notifications/settings/{provider} - Operation ID:
delete-notification-settings - Usage: Removes one provider’s saved settings and credentials (instance-wide), so it stops sending. To pause it without losing the configuration, call notification.settings_upsert with enabled false instead. Reports success even when the provider was not configured.
- Related actions:
notification.settings_list,notification.settings_upsert
notification.settings_get
Section titled “notification.settings_get”Get notification settings by provider
- Kind: read
- Required parameters:
provider - Meta tool:
arcane_notificationwith"action": "settings_get" - Individual tool:
arcane_notification_settings_get - Arcane route:
GET /api/environments/{id}/notifications/settings/{provider} - Operation ID:
get-notification-settings - Usage: Reads one provider’s settings. provider is the name (discord, email, telegram, signal, slack, ntfy, pushover, gotify, matrix, googlechat, generic) as shown by notification.settings_list. Fails with 404 when that provider was never saved, and credential fields come back blanked.
- Related actions:
notification.settings_list,notification.settings_upsert
notification.settings_list
Section titled “notification.settings_list”Get all notification settings
- Kind: read
- Required parameters: none
- Meta tool:
arcane_notificationwith"action": "settings_list" - Individual tool:
arcane_notification_settings_list - Arcane route:
GET /api/environments/{id}/notifications/settings - Operation ID:
get-all-notification-settings - Usage: Lists every configured provider with its id, enabled flag and config (including the events map). Settings are instance-wide, whatever environmentId is passed. Credential fields (tokens, passwords, the Google Chat webhookUrl) come back blanked. Requires the notifications:manage permission.
- Related actions:
notification.settings_get,notification.settings_upsert,notification.test
notification.settings_upsert
Section titled “notification.settings_upsert”Create or update notification settings
- Kind: write
- Required parameters:
config,enabled,provider - Meta tool:
arcane_notificationwith"action": "settings_upsert" - Individual tool:
arcane_notification_settings_upsert - Arcane route:
POST /api/environments/{id}/notifications/settings - Operation ID:
create-or-update-notification-settings - Usage: Creates or replaces one provider’s settings (instance-wide, whatever environmentId is passed): config replaces the stored config, except that blank credential fields, a blank host/smtpHost and an omitted events map keep their stored values, so read notification.settings_get first and send the full config. provider is discord, email, telegram, signal, slack, ntfy, pushover, gotify, matrix, googlechat or generic. For a plain webhook use generic with config.webhookUrl (plus method, contentType, titleKey, messageKey) and config.events, a map of image_update, container_update, vulnerability_found, prune_report, auto_heal to true/false (an absent event counts as enabled). Changing an email/signal/ntfy/gotify/matrix host requires resending its credentials.
- Related actions:
notification.settings_get,notification.test,notification.settings_list,notification.settings_delete
notification.test
Section titled “notification.test”Test notification
- Kind: write
- Required parameters:
provider - Meta tool:
arcane_notificationwith"action": "test" - Individual tool:
arcane_notification_test - Arcane route:
POST /api/environments/{id}/notifications/test/{provider} - Operation ID:
test-notification - Usage: Sends a sample notification through one saved provider (notification.settings_upsert first, else it fails with 400) and sends even when the provider is disabled or the event is unsubscribed, returning a warning that real notifications would not send. type picks the sample: simple (default), image-update, batch-image-update, vulnerability-found, prune-report, auto-heal. environmentId only sets the environment named in the message, and an unknown environmentId fails with 404. A delivery failure is returned as an error.
- Related actions:
notification.settings_upsert,notification.settings_get,notification.dispatch