{{toast.message}}

API

Every endpoint below authenticates with an API key. Create one under Settings → API Keys and send it as the x-api-key header. No cookies and no login step, so a plain curl works.

All responses are JSON.

POST /api/push/:recipients

Send a push notification to one or more users.

Parameters

recipients path, required
One or more usernames, comma separated Eg: alice,bob. A recipient only receives the push if they have added you to their allowed users, or have turned on "Allow anyone to send me push". Recipients who have not are skipped.
text body, required
The message to send. Anything beyond 160 characters is trimmed off.

Example

curl -X POST https://pushie.net/api/push/$USERNAME \
  -H "x-api-key: $PUSHIE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Deploy finished on production"}'

Response

{
  "message": "Push sent",
  "to": ["$USERNAME"],
  "_id": "68bd0f3c9a1b4c2d5e6f7a80"
}

Returns 400 with No valid recipients when none of the listed users allow you. Limited to 25 requests every 5 minutes.

GET /api/pull

List the pushes sent to you, newest first.

Parameters

skip query, optional
How many pushes to skip. Defaults to 0. Each call returns up to 50 pushes.

Example

curl "https://pushie.net/api/pull?skip=50" \
  -H "x-api-key: $PUSHIE_API_KEY"

Response

{
  "pushes": [
    {
      "from": "alice",
      "text": "Deploy finished on production",
      "date": "2026-09-07T10:24:11.000Z"
    }
  ]
}

Pushes are deleted 24 hours after they are sent, so this only ever returns the last day.

Errors

Failures come back with a matching status code and a message.

{ "message": "Unauthorized" }
401
The API key is missing or is not a real key.
404
No endpoint at that path.
429
You went past a rate limit. The message says how long to wait.