aaPush device notification API GET /p/<8-character-device-code>?t=Reminder&b=Message POST /p/<8-character-device-code> Content-Type: application/json {"title":"Reminder","body":"Message","request_id":"unique-request-00001"} Copy the URL from your installed aaPush device. Device codes remain fixed. A device URL permits sending only; it cannot log in, read messages or manage an account. Keep the URL private. The receiving device must be registered and bound to an enabled account. Member API credentials and the old credential-based notification, login and billing routes have been removed. Title: at most 200 characters. Body: 1-4096 characters. Optional URL: HTTPS, at most 2048 characters. Notification clicks open the matching aaPush message. request_id: optional, 16-128 letters/digits/underscore/hyphen. For caller retries, reuse the same ID and payload; changed payload returns 409. Admission/deduplication is atomic; internal retries do not consume quota again. Basic accounts share 100 notifications per Asia/Shanghai calendar day across device API and Telegram sources. 429 means quota rejected; rejected messages are not deferred to the next day. 200 means accepted/evidenced; 202 means queued. Neither proves display or reading. Installed aaPush uses a unified message list. Personal Telegram and bots bind to specific devices. Only post-authorization text is imported; muted personal chats are filtered. Each device chooses read-once, 1 day (default), or 3 days retention. User settings control sources and notification preferences. Administrators may unlink email or devices; unlinking a device also revokes its Telegram/bot access. Basic accounts do not initiate new paid subscriptions; existing ledgers remain.