REST API
Full programmatic access to your Notirix account. Send pushes, manage subscribers, build audience segments, and pull analytics — all via HTTP.
Authentication
All API requests require an API Key passed as a request header:
X-API-Key: notirix_live_xxxxxxxxxxxxxxxxxxxxxxxxFind your API key in Admin → Settings → API Key.
https://push.notirix.com/apiapplication/json{ "message": "..." }. Rate limits: 300 req/min per API key. Messages
Create and send push notification campaigns.
/apps/:appId/messages/sendSend messageCreate and immediately dispatch a push notification. Target by segment IDs or a single external user ID.
POST /api/apps/app_123/messages/send
X-API-Key: notirix_live_xxx
Content-Type: application/json
{
"title": "Flash sale — 30% off today only",
"body": "Use code FLASH30 at checkout",
"url": "https://example.com/sale",
"image": "https://example.com/sale-banner.jpg",
"includeSegmentIds": ["seg_abc"],
"excludeSegmentIds": []
}/apps/:appId/messages/scheduleSchedule messageSame as send but dispatches at a future ISO 8601 datetime.
{
"title": "Your order shipped!",
"body": "Estimated delivery: tomorrow",
"scheduledAt": "2025-09-01T10:00:00Z",
"targetUserId": "user-42"
}/apps/:appId/messagesList messagesPaginated list of all messages with status and delivery counts.
/apps/:appId/messages/:id/cancelCancel messageCancel a scheduled message before it dispatches.
Subscribers
Read and update subscriber data. Subscribers are created automatically when users grant push permission.
/apps/:appId/usersList subscribersPaginated subscriber list. Filter by tag key/value or status.
GET /api/apps/app_123/users?page=1&limit=50&tagKey=plan&tagValue=premium/apps/:appId/users/:externalIdGet subscriberGet a single subscriber by your external ID, including all tags.
/apps/:appId/users/:externalId/tagsSet tagsUpsert one or more tags on a subscriber. Existing keys are overwritten.
{
"tags": {
"plan": "premium",
"last_purchase_category": "electronics",
"total_orders": 14
}
}/apps/:appId/users/:externalIdDelete subscriberPermanently remove a subscriber and all their push subscriptions (GDPR deletion).
Segments
Segments are saved audience filters. Reference them by ID when sending messages.
/apps/:appId/segmentsList segmentsAll saved segments with rule definitions and subscriber count.
/apps/:appId/segmentsCreate segmentCreate a segment with a rule tree. Supports tag filters, platform, last-seen date.
{
"name": "Premium users — active 30d",
"rules": {
"operator": "AND",
"rules": [
{ "field": "tag", "key": "plan", "operator": "eq", "value": "premium" },
{ "field": "last_seen", "operator": "lt_days", "value": 30 }
]
}
}/apps/:appId/segments/:idDelete segmentDelete a segment. Does not affect subscribers.
Journeys
Automated push sequences triggered by events or time delays.
/apps/:appId/journeysList journeysAll journeys with status (active / paused / draft) and step count.
/apps/:appId/journeys/:id/triggerTrigger journeyEnroll a user into a journey by external ID. Use for event-driven automations (e.g. cart abandonment).
/apps/:appId/journeys/:id/pausePause / resumePause or resume an active journey. In-flight enrollments finish their current step.
Analytics
Pull delivery and engagement metrics for messages and campaigns.
/apps/:appId/messages/:id/statsMessage statsDelivery funnel for a single message: sent, delivered, clicked, failed.
{
"sent": 12400,
"delivered": 11870,
"clicked": 2103,
"failed": 530,
"ctr": 17.7
}/apps/:appId/analyticsApp overviewAggregate stats for a date range: total sends, average CTR, subscriber growth.