Messaging

Send push notification

Send a push notification to one or more devices. Accepts: OrgBearerAuth (for admin users), ProjectBearerAuth (JWT for authenticated users), or ApiKeyAuth (X-API-Key for programmatic access). Both ProjectBearerAuth and ApiKeyAuth are fully implemented.

AuthBearer (JWT)
GroupMessaging
Rate limitSee Rate Limits
POST/api/messaging/projects/{projectId}/messaging/push

SDK setup

Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.

import { Configuration, MessagingApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const messaging = new MessagingApi(configuration);
import { Configuration, MessagingApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const messaging = new MessagingApi(configuration);

Example request

Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.

const { data: result } = await messaging.sendPushNotification(
  "proj_HHK9aDnG2LgT",
  {
    tokens: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample",
    title: "Distributed national access",
    body: "transmitter synthesize",
    data: "array quantify",
    imageUrl: "https://sunny-seafood.info/"
  }
);
const { data: result } = await messaging.sendPushNotification(
  "proj_HHK9aDnG2LgT",
  {
    tokens: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample",
    title: "Distributed national access",
    body: "transmitter synthesize",
    data: "array quantify",
    imageUrl: "https://sunny-seafood.info/"
  }
);

Playground

live

Test this endpoint with your own credentials. Your requests will be sent to the live API.

Use the auth endpoints to obtain a JWT.

No Request Yet

Send a request to see the full inspector

Authentication

Requires JWT
Note
Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →

Path Parameters

NameTypeRequiredDescription
projectIdstringYes

Request Body

json
{
  "tokens": [
    "matrix calculate"
  ],
  "title": "Customizable disintermediate budgetary management",
  "body": "feed program",
  "data": {},
  "imageUrl": "https://flustered-hammock.org"
}
{
  "tokens": [
    "matrix calculate"
  ],
  "title": "Customizable disintermediate budgetary management",
  "body": "feed program",
  "data": {},
  "imageUrl": "https://flustered-hammock.org"
}

Responses

201Push notification sent
json
{
  "success": true,
  "data": {
    "_id": "65a1b2c3d4e5f6789012345c",
    "type": "push",
    "status": "sent",
    "recipients": 2,
    "sentAt": "2024-01-15T10:00:00.000Z"
  }
}
{
  "success": true,
  "data": {
    "_id": "65a1b2c3d4e5f6789012345c",
    "type": "push",
    "status": "sent",
    "recipients": 2,
    "sentAt": "2024-01-15T10:00:00.000Z"
  }
}
403
429Per-project messaging send rate limit exceeded
json
{
  "success": true,
  "error": "messaging_rate_limited",
  "message": "Stylish Keyboard designed to make you stand out with lively looks"
}
{
  "success": true,
  "error": "messaging_rate_limited",
  "message": "Stylish Keyboard designed to make you stand out with lively looks"
}

Errors

CodeMeaning
403
429Per-project messaging send rate limit exceeded
Edit this page on GitHub