API
text
POST https://send.meowpush.com/
Content-Type: application/jsonCommon Request Fields
key: A single Push Keykeys: Multiple Push Keys for batch delivery, up to 50
key and keys cannot be used together in the same request.
Push Request Fields
| Field | Type and constraints | Default | Description |
|---|---|---|---|
title | String, 1–256 characters | Notification title | |
subtitle | String, 1–256 characters | Notification subtitle; presentation varies by platform | |
body | String, 1–4000 characters | Notification content | |
level | passive, active, time-sensitive, critical | active | |
sound | silent, default, bell, chime, alarm, ding | silent | |
badge | Integer, 0–99 | Absolute badge value; 0 clears the badge | |
icon | HTTPS URL, 1–2048 characters | Source avatar or icon; presentation varies by platform | |
image | HTTPS URL, 1–2048 characters | Notification media image; presentation varies by platform | |
url | URI, 1–2048 characters | Link attached to the notification and opened when it is tapped | |
group | String, 1–64 characters | Places related notifications in the same group | |
collapse_id | [A-Za-z0-9_-]{1,32} | Replaces previously displayed content with the same identifier | |
ttl | Integer in seconds, 0–2419200 | 86400 | Notification lifetime |
data | JSON object | Custom data passed to the app |
All message fields except body are optional.
Response
A successfully processed request returns a summary of the final delivery results:
json
{
"notification_id": "019cf5f1-7f2d-7d18-8be1-6f27e1916b52",
"accepted": 1,
"failed": 0,
"results": [
{
"key": "mpdv0000000000000001",
"source_keys": ["mpdv0000000000000001"],
"status": "accepted",
"transport": "apns",
"message_id": "provider-message-id"
}
]
}| Field | Description |
|---|---|
notification_id | Server-side notification identifier for this Push Request |
accepted / failed | Final counts of accepted and failed devices |
results[].key | Primary source Push Key for this result |
results[].source_keys | Source Push Keys that resolved to the same final device |
results[].status | accepted or failed |
results[].transport | Actual transport: apns, fcm, hms, wns, or unifiedpush; may be null when no device was resolved |
results[].message_id | Optional message identifier returned by the upstream service |
results[].reason | Stable reason code for a failed result |
results[].retry_at | Earliest retry time that may be returned when quota is exhausted |
accepted only means that the corresponding upstream push service, such as APNs or FCM, accepted the message for delivery. Final delivery usually occurs shortly after the response and depends on the upstream service and device state.
Rate Limit
Rate limit per IP address: 100 requests per second.
