API Reference
Base URL: https://api.pushtower.com/v1
All requests require an Authorization: Bearer YOUR_API_KEY header.
Send a Notification
POST /v1/push
| Field | Type | Required | Description |
|---|---|---|---|
channel | string | yes | Channel ID or name |
title | string | yes | Notification title |
body | string | no | Notification body text |
sound | string | no | Sound name (default: default) |
priority | string | no | low, normal, or high |
data | object | no | Custom payload data |
encrypted | boolean | no | Enable E2E encryption |
Example
curl -X POST https://api.pushtower.com/v1/push \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"channel": "server-alerts",
"title": "Deploy Complete",
"body": "v2.4.1 is now live on production",
"priority": "high"
}'
Response
{
"id": "ntf_abc123",
"status": "delivered",
"delivered_at": "2026-04-09T12:00:00Z"
}
Live Activities
POST /v1/live-activity
Start or update a Live Activity on the user’s lock screen. See Live Activities for details.
Channels
GET /v1/channels # List channels
POST /v1/channels # Create channel
GET /v1/channels/:id # Get channel
PATCH /v1/channels/:id # Update channel
DELETE /v1/channels/:id # Delete channel
Devices
GET /v1/devices # List registered devices
DELETE /v1/devices/:id # Remove a device
Rate Limits
All API endpoints are rate-limited to 100 requests per minute per API key. The response headers include:
X-RateLimit-Limit— Max requests per windowX-RateLimit-Remaining— Requests remainingX-RateLimit-Reset— Unix timestamp when the window resets