Skip to main content
POST
/
notifications
Send a notification to the merchant
curl --request POST \
  --url https://api.salesive.com/api/v1/notifications \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Sync complete",
  "message": "Your catalog finished syncing — 128 products updated.",
  "type": "info",
  "url": "https://dashboard.salesive.com/products",
  "data": {
    "updated": 128
  }
}
'
{
  "status": 200,
  "success": true,
  "message": "Notification sent",
  "data": {
    "_id": "66b3f0a1c2d4e5f600112233",
    "user": "66a1b2c3d4e5f60011223344",
    "shop": "66a0a1b2c3d4e5f600112200",
    "title": "Sync complete",
    "message": "Your catalog finished syncing — 128 products updated.",
    "type": "info",
    "url": "https://dashboard.salesive.com/products",
    "read": false,
    "data": {
      "updated": 128
    },
    "createdAt": "2026-06-28T09:30:00.000Z",
    "updatedAt": "2026-06-28T09:30:00.000Z"
  }
}
Creates an in-app notification for the store owner and triggers a web/mobile push. The recipient is fixed server-side to the merchant — an app can never target an arbitrary user. Rate limited to 5 notifications per day per installation.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Body

application/json
title
string
required

Short heading for the notification.

message
string
required

Body text of the notification.

type
string
default:info

Category of the notification (e.g. "info", "order", "urgent"). Defaults to "info". A type of "urgent" is delivered with high push priority.

url
string

Optional deep-link URL the merchant opens when tapping the notification.

data
object

Optional arbitrary key/value metadata attached to the notification and forwarded in the push payload.

Response

The created notification.

Standard Salesive response envelope. The operation-specific payload is carried in data.

status
integer
required

HTTP status code, echoed in the body.

success
boolean
required

Whether the request succeeded.

message
string
required

Human-readable result message.

data
object

A single in-app notification belonging to the merchant on the store.