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.
POST
/api/messaging/projects/{projectId}/messaging/pushSDK 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
liveTest 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | — |
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
| Code | Meaning |
|---|---|
403 | — |
429 | Per-project messaging send rate limit exceeded |