NeoServer Push API

An APNs push API deployed on Cloudflare Workers. It supports system grouping, basic Markdown, interruptionLevel, URL, image URL, icon URL, and sound — ideal for sending test notifications and alerts to a group of NeoServer iPhone devices.

Test Form

Fill in the parameters and call /push directly. System notifications are standard APNs text; rich content is displayed in NeoServer app inbox.

If markdown is provided, the Worker ignores the body field and auto-generates a system notification summary from Markdown. Be careful with Markdown and JSON special character escaping when sending.

cURL Example

If markdown is provided, body can be omitted; the example includes URL, grouping, and rich media fields.



        

Result

The Worker response will appear here after submission.

{
  "ok": true
}

API Info

Push Endpoint: https://ns.joyk.com/push
Health: https://ns.joyk.com/health

Rich Fields

  • groupKey maps to APNs thread-id
  • markdown stored in data.markdown and generates plain text summary
  • interruptionLevel maps to APNs interruption level
  • url for tap-to-open navigation
  • imageUrl / iconUrl for in-app display only
  • sound supports string or object

FAQ

HTTPError: 403 - error code: 1010

Cloudflare Bot Protection blocked the request because no User-Agent header was sent.

Fix: add a User-Agent header to the request.

curl -sS -X POST "https://ns.joyk.com/push" \
  -H "content-type: application/json" \
  -H "User-Agent: NeoServer/1.0" \
  --data '{"deviceTokens":["<token>"],"title":"test","body":"hello"}'