Remote Push PRO
Remote Push lets your devices receive push notifications sent from your own servers and automations. After setting it up, you get a single API key that you call over HTTPS to deliver notifications to your registered devices.
Getting Your API Key
Open Tools → Remote Push and tap Set Up Remote Push. This registers the current device and issues one API key for your account.
- The API key is shared across every device signed in with the same Apple ID.
- One key can have multiple registered devices.
- Keep the key private — anyone who has it can send notifications to your devices.
On the same page you can rename devices, toggle delivery per device, send a test push, and review recent logs.
Base URL & Authentication
All endpoints require your API key as a Bearer token:
Send a Push
POST /push
Send a notification to specific devices, or to all of your devices.
Parameters
image,icon, andactionButtonsproduce a rich notification: long‑press (or pull down) the delivered notification to see the image, avatar, and action buttons. The server enables the requiredmutable-contentflag automatically.
time-sensitivenotifications break through Focus modes and the scheduled notification summary.criticalalerts additionally bypass the mute switch and Do Not Disturb and always play a sound — but they require Apple's Critical Alerts entitlement on the app. Until that entitlement is approved, acriticalpush automatically falls back totime-sensitive.
Response
remaining and daily_limit in the body reflect your quota after this push. The X-Push-Limit-Remaining response header carries the same remaining count (measured before the push) and is also present on rate-limit errors.
List Devices
GET /devices
List your registered devices. Use each device id for the deviceIds array when sending a push.
A device with push_enabled: false stays in the list but is skipped when sending pushes.
Subscription Keys
Sometimes you want a third party — a subscription source, a feed, an automation you don't fully control — to push to your devices, without handing over your master API key (which can also manage devices, read your subscription, and mint more keys).
In Tools → Remote Push → Subscription Keys you can mint send-only keys derived from your master key:
- A subscription key can only
POST /pushto your devices. Every management endpoint (devices, key info, other subscription keys, logs, stats) is rejected withMASTER_KEY_REQUIRED. - It uses the exact same request as the master key — just put the subscription key in the
Authorization: Bearerheader. - Its pushes count against your account's shared daily limit.
- You can disable (reversible) or delete (permanent) a subscription key from the app at any time. A disabled or deleted key immediately stops working.
This lets a single source serve many users: each user mints one subscription key and hands it over; the source pushes to each user through that user's key, and any user can cut it off independently.
Daily Limit & Statistics
GET /push/limit
Returns the daily push limit and how many remain.
GET /push/stats
Returns overall and daily push statistics, including totals and success rate.
Push Logs
GET /push/logs
Returns recent push history. Accepts an optional limit query parameter (1–100, default 50).
Example
Bark-Compatible API
This server also speaks the Bark API, so Bark-compatible tools and scripts work by pointing them at https://push.scripting.fun and using one of your subscription keys as the Bark key.
Endpoints
GET|POST /:key/:bodyGET|POST /:key/:title/:bodyGET|POST /:key/:title/:subtitle/:bodyPOST /:key— all fields in the JSON bodyPOST /push— withdevice_key(or adevice_keysarray) in the JSON bodyGET /ping,GET /healthz,GET /info,GET /register/:key
key / device_key is a subscription key (Tools → Remote Push → Subscription Keys). It pushes to your registered devices and counts against your account's shared daily limit.
Supported parameters
title, subtitle, body, level (active / timeSensitive / passive / critical), badge, sound, icon (URL), group, url, copy, autoCopy, call, volume, ciphertext + iv, id.
sound— a built-in Bark sound name such asminuet.call=1— repeats the sound for ~30 seconds.level=criticalwithvolume(0–10) — a critical alert. Requires the app's Critical Alerts entitlement; until that is approved by Apple it falls back totime-sensitive.url— opened when the notification is tapped.copy— long-press the notification and tap Copy to copy this text (or the whole body if omitted).autoCopy=1copies on delivery.badge— sets the app icon badge; sendbadge=0to clear it (iOS keeps the last badge until you explicitly reset it).- Encrypted push — set the AES key in Tools → Remote Push → Encryption, then send
ciphertext(base64) and an optionaliv.
markdown is treated as plain text; isArchive / ttl are ignored (there is no in-app message history).
Example
Rate Limiting
- Each account has a daily push limit, shared across the account's keys (master and subscription keys). Check the current limit and remaining count with
GET /push/limit. - The
X-Push-Limit-Remainingresponse header shows the remaining count.
