{{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

Send a push notification to one or more users.

Parameters

text body, required
The message to send. Anything beyond 160 characters is trimmed off. You always receive the push yourself. Add @mentions to send it to others too Eg: @alice @bob deploy finished. A mentioned user only receives the push if they have added you to their allowed users, or have turned on "Allow anyone to send me push". Mentioned users who have not are skipped. Use @all to send it to everyone who has added you to their allowed users.

Example

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

Response

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

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://pushadoo.com/api/pull?skip=50" \
  -H "x-api-key: $PUSHIE_API_KEY"

Response

{
  "pushes": [
    {
      "from": "alice",
      "text": "Deployment 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 JSON body whose message key holds the error message.

{ "message": "Unauthorized" }
400
The request was invalid, for example text is empty or invalid.
401
The x-api-key header is not a valid API key.
403
A POST was sent without the x-api-key header.
404
No endpoint at that path.
429
You went past a rate limit. The message says how long to wait.