Developer Push API

Server-to-Server

Send a push to any user from your backend with one HTTP call. No dashboard, no campaigns needed. Perfect for transactional and real-time alerts.

The Developer API lets you trigger push notifications directly from your server. Use it for order updates, chat messages, payment confirmations, and any backend-triggered notification.


Endpoint

endpoint
http
POST https://api.smartapppush.ai/developer/push

Authentication: X-Server-Keyheader with your app's server key.

Request Example

request body
json
{
  "app_user_id": "user_123",
  "title": "Your order has shipped!",
  "body": "Order #4521 is on its way. Delivery: March 31.",
  "extra_data": {
    "order_id": "4521",
    "screen": "order_detail",
    "tracking_url": "https://track.example.com/4521"
  },
  "schedule_at": "2026-03-29T15:00:00Z",
  "priority": 8,
  "dedupe_key": "order-shipped-4521"
}

cURL Example

terminal
bash
curl -X POST https://api.smartapppush.ai/developer/push \
  -H "Content-Type: application/json" \
  -H "X-Server-Key: your-server-key-uuid" \
  -d '{
    "app_user_id": "user_123",
    "title": "New message from Sarah",
    "body": "Hey, are you free for lunch tomorrow?",
    "extra_data": {
      "screen": "chat",
      "chat_id": "conv_789"
    }
  }'

Response

201 Created
json
{
  "push_count": 1,
  "app_user_id": "user_123",
  "app_id": "your-app-uuid"
}

Field Reference

FieldRequiredDescription
app_user_idYesThe user to send the push to
titleYesPush notification title
bodyYesPush notification body text
extra_dataNoCustom key-value data for deep linking and navigation
schedule_atNoRFC 3339 timestamp. Defaults to immediately
priorityNo1 (lowest) to 10 (highest). Default: 5
dedupe_keyNoPrevents duplicate pushes within a 10-minute window

Error Responses

StatusMeaning
400Missing required fields or invalid format
401Missing or invalid X-Server-Key header
404No devices with push permission found for this user
429Rate limit exceeded (100 req/sec per IP). Check Retry-After header
503Server overloaded. Retry after a short delay

Important Notes

  • The app_user_id must match exactly what your app sends in events
  • Pushes only deliver to devices with push permission enabled (404 if none found)
  • The extra_data object is included in the push payload for deep linking
  • For bulk sends, use campaigns instead of the Developer API

We use cookies to understand how you use our site and improve your experience. No personal data is sold or shared.