# attn.ca > A personal notification/attention service. POST a message and attn fans it out > to every verified channel you own, such as Telegram or Web Push. There is no > arbitrary recipient field: callers can only notify themselves, inspect recent > activity, and manage delivery state/channels from their account. Accounts, > OAuth, and API keys are federated from pastebin.ca. ## How it works - Send a notification with a title and/or body; optional priority is display-only, and dedup_key makes retries safe without resending. - Delivery fans out only to channels the signed-in account has paired and verified. Do Not Disturb can silence delivery while preserving accepted activity. - Browser sessions manage channel pairing, DND mutation, and account keys; REST API keys cover notify/read surfaces and MCP clients use the same protected resource. ## Developer docs - [Developer guide](https://attn.ca/docs): REST API, MCP, OAuth, and discovery. - [OpenAPI 3.1 spec](https://attn.ca/api/v1/openapi.json): the full REST contract. - [MCP server](https://attn.ca/mcp): Model Context Protocol endpoint for AI agents. - [Agent card](https://attn.ca/.well-known/agent.json): machine-readable capabilities. - [MCP discovery](https://attn.ca/.well-known/oauth-protected-resource/mcp): protected-resource metadata. ## API summary - POST https://attn.ca/api/v1/notify — send a self-notification (scope attn:notify). Body: {"title":"...","body":"...","priority":"low|normal|high","dedup_key":"..."}. - GET https://attn.ca/api/v1/notifications — list recent notifications, delivery status, and stats (scope attn:read). - GET https://attn.ca/api/v1/dnd — read current Do Not Disturb status (scope attn:read). - GET https://attn.ca/api/v1/channels — list paired channels (signed-in session; channel management uses the attn:channels product surface). - POST https://attn.ca/api/v1/channels/telegram/pair — start Telegram pairing (signed-in session). - POST https://attn.ca/api/v1/channels/webpush — register a Web Push channel (signed-in session). - GET https://attn.ca/api/v1/webpush/key — fetch the public VAPID key for Web Push registration. ## Authentication - Account API keys are minted on https://pastebin.ca and audience-bound to https://attn.ca. - Send them as: Authorization: Bearer pbca_live_… - OAuth 2.1 + PKCE (with optional DPoP) is available for interactive MCP clients; pastebin.ca is the authorization server. - Product scopes are attn:notify, attn:read, and attn:channels. ## Policy - attn never sends to arbitrary recipients; notifications go only to verified channels owned by the caller. - Notification bodies are small personal-alert payloads, not bulk messaging or a general file store; abusive delivery may be limited or disabled. - Privacy: https://attn.ca/privacy - Report abuse at https://attn.ca/abuse. - The governing family policy lives at https://pastebin.ca/privacy, https://pastebin.ca/terms, and https://pastebin.ca/abuse.