PushEdge API Reference

Comprehensive API reference for the PushEdge push notification service.

Base URL

https://api.pushedge.app/api/v1

Authentication

PushEdge API requests are authenticated in one of two ways: an API key in the X-API-Key header, or a console session token as Authorization: Bearer <token>.

API keys currently authenticate POST /api/v1/notifications/send only. The Channels endpoints below require a console session token (JWT) — an API key is not accepted there.

X-API-Key: YOUR_PUSHEDGE_API_KEY

Get your API key from the API Keys page in your dashboard. An interactive, always-up-to-date reference (devices, subscriptions, statistics, MFA, …) is available at api.pushedge.app/docs.

Response Codes

Code Description
2xx Success - Request was successful
4xx Client Error - Invalid request (missing parameters, unauthorized, etc.)
5xx Server Error - Something went wrong on our end

Pagination

List endpoints (GET /channels, GET /devices, GET /api-keys) return a paginated envelope:

{
  "data": [ /* items */ ],
  "total": 42,
  "page": 1,
  "limit": 20,
  "totalPages": 3
}

Use ?page= (1-based) and ?limit= (1-100, default 20) to navigate.

Rate Limits

Requests are throttled per IP. Exceeding a limit returns HTTP 429 Too Many Requests.

Scope Limit
All API endpoints 100 requests / minute
Auth (register, login, refresh, MFA), device registration, subscribe / unsubscribe 5 requests / minute
Device endpoints (/devices/me/*) 30 requests / minute
Health 1 request / second

Send a Notification

Send a push notification to all subscribers of a channel.

POST /api/v1/notifications/send

Request Body

{
  "channelUuid": "your-channel-uuid",
  "title": "Test Notification",
  "content": "Your notification message here"
}
Parameter Type Required Description
channelUuid string Yes UUID of the channel to send to
content string Yes The message content of the notification
title string Yes Notification title displayed on device

Example Request

                    curl "https://api.pushedge.app/api/v1/notifications/send" \
  -X "POST" \
  -H "X-API-Key: YOUR_PUSHEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channelUuid": "550e8400-e29b-41d4-a716-446655440000",
    "title": "🚀 Deploy completed",
    "content": "🚀 Your project has been deployed successfully!"
  }'

Success Response

{
  "message": "Notification sent",
  "sent": 3,
  "failed": 0,
  "notification": {
    "id": "b2f3a1c8-9d4e-4f6a-8b7c-1e2d3f4a5b6c",
    "title": "🚀 Deploy completed",
    "content": "🚀 Your project has been deployed successfully!"
  }
}

If the channel has no subscribers, the API returns { "message": "No subscribers", "sent": 0 }. Both channelUuid and title are required.

Channels

These endpoints require a console session token (Authorization: Bearer <token>). They are not available with an API key today.

List Channels

GET /api/v1/channels

Get channels for your account (paginated).

Create Channel

POST /api/v1/channels

Create a new notification channel.

Get QR Code

GET /api/v1/channels/:uuid/qr

Get a QR code URL for a channel subscription. The invite token expires after 15 minutes (expiresIn: "15m" in the response) — regenerate it for permanent displays.

Need Help?

Contact us through our contact form and we'll try our best to assist you.

Get Started for Free