Service
Pingram (rebrand of NotificationAPI) — multi-channel messaging API covering email, SMS, voice, WhatsApp, and web push through one API, with templates and delivery analytics.
Why now
A recently-rebranded, actively developed multi-channel notification API that's showing up as an alternative to Twilio-style stacks for self-hosters who want one integration point for several channels.
Apprise comparison
Not supported by Apprise — no Pingram/NotificationAPI plugin in Apprise's catalog.
Proposed scope
Mirror providers/pushover shape:
providers/pingram package
Config{ APIKey, ClientID (or equivalent), ... } — confirm exact auth/payload shape against current Pingram API docs (https://www.pingram.io/docs) before implementing
New(cfg, wrapper) *Client, (*Client).Send(ctx, notify.Message) error via transport.Wrapper
- Note: Pingram is itself multi-channel (email/SMS/voice/push) — scope the initial integration to whichever channel(s) matter most (likely push and/or email) rather than the whole surface.
Note
Per CLAUDE.md, this repo's near-term policy is to keep the provider list to what's ported from Charon and not add new integrations without an explicit go-ahead. This issue is tracking/backlog only — do not implement without maintainer sign-off.
Service
Pingram (rebrand of NotificationAPI) — multi-channel messaging API covering email, SMS, voice, WhatsApp, and web push through one API, with templates and delivery analytics.
Why now
A recently-rebranded, actively developed multi-channel notification API that's showing up as an alternative to Twilio-style stacks for self-hosters who want one integration point for several channels.
Apprise comparison
Not supported by Apprise — no Pingram/NotificationAPI plugin in Apprise's catalog.
Proposed scope
Mirror
providers/pushovershape:providers/pingrampackageConfig{ APIKey, ClientID (or equivalent), ... }— confirm exact auth/payload shape against current Pingram API docs (https://www.pingram.io/docs) before implementingNew(cfg, wrapper) *Client,(*Client).Send(ctx, notify.Message) errorviatransport.WrapperNote
Per
CLAUDE.md, this repo's near-term policy is to keep the provider list to what's ported from Charon and not add new integrations without an explicit go-ahead. This issue is tracking/backlog only — do not implement without maintainer sign-off.