Notification channels — Slack, Discord, email, and per-channel enable/disable.
Example
client = Miosa.client(System.fetch_env!("MIOSA_API_KEY"))
{:ok, channels} = Miosa.Channels.list(client)
{:ok, channel} = Miosa.Channels.create(client, %{type: "slack", webhook_url: "https://..."})
{:ok, _} = Miosa.Channels.enable(client, channel["id"])
Summary
Functions
Create a new notification channel.
Delete a channel by ID.
Disable a channel by ID.
Enable a channel by ID.
Get a single channel by ID.
List all channels for the tenant.
Get notification preferences across all channels.
Update a channel by ID.
Update notification preferences.
Functions
@spec create(Miosa.Client.t(), map()) :: Miosa.Client.result(map())
Create a new notification channel.
@spec delete(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Delete a channel by ID.
@spec disable(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Disable a channel by ID.
@spec enable(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Enable a channel by ID.
@spec get(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Get a single channel by ID.
@spec list(Miosa.Client.t(), keyword() | map()) :: Miosa.Client.result(map())
List all channels for the tenant.
Accepts optional filters as a keyword list or map.
@spec list_notifications(Miosa.Client.t()) :: Miosa.Client.result(map())
Get notification preferences across all channels.
@spec update(Miosa.Client.t(), String.t(), map()) :: Miosa.Client.result(map())
Update a channel by ID.
@spec update_notifications(Miosa.Client.t(), map()) :: Miosa.Client.result(map())
Update notification preferences.