Messaging

Update native Web Push (VAPID) configuration

Enable or disable native Web Push, rotate the VAPID keypair, or set the contact subject. - `enabled: true` turns native Web Push on and provisions a VAPID keypair the first time, so the public-key read path has a key to hand clients immediately. `enabled: false` turns it off. - `rotateKeys: true` regenerates the keypair. This invalidates existing browser subscriptions - clients must re-fetch the new public key and re-subscribe. - `subject` sets the RFC 8292 contact URI - a `mailto:` address or an `https` URL. Returns the same shape as `GET`. The private key is never returned. Accepts: OrgBearerAuth (for admin users), ProjectBearerAuth (JWT for authenticated users), or ApiKeyAuth (X-API-Key for programmatic access).

AuthJWT or API Key
GroupMessaging
Rate limitSee Rate Limits
PATCH/api/messaging/projects/{projectId}/messaging/web-push-config

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',
  apiKey: 'sk_live_mudbase_doc_Xk9mP2qR7vN4wL8jH3tY6uE',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});
// This endpoint accepts either credential - apiKey or accessToken alone is enough.

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

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  apiKey: 'sk_live_mudbase_doc_Xk9mP2qR7vN4wL8jH3tY6uE',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});
// This endpoint accepts either credential - apiKey or accessToken alone is enough.

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.patchProjectWebPushConfig(
  "proj_5ZbzjfJWoIPp",
  {
    enabled: true,
    rotateKeys: false,
    subject: "monitor calculate"
  }
);
const { data: result } = await messaging.patchProjectWebPushConfig(
  "proj_5ZbzjfJWoIPp",
  {
    enabled: true,
    rotateKeys: false,
    subject: "monitor calculate"
  }
);

Playground

live

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

Get your API key from the console
Use the auth endpoints to obtain a JWT.

No Request Yet

Send a request to see the full inspector

Authentication

Requires JWT Requires API Key JWT or API Key
Note
This endpoint accepts either JWT Bearer token or API Key. Use Authorization: Bearer YOUR_TOKEN for user context, or X-API-Key: YOUR_KEY for server-to-server. View authentication guide →Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Include your API key in the X-API-Key: YOUR_KEY header (server-to-server, SDKs). View authentication guide →

Path Parameters

NameTypeRequiredDescription
projectIdstringYes-

Request Body

json
{
  "enabled": false,
  "rotateKeys": true,
  "subject": "hard drive program"
}
{
  "enabled": false,
  "rotateKeys": true,
  "subject": "hard drive program"
}

Responses

200Updated native Web Push configuration
json
{
  "success": true,
  "data": {
    "enabled": true,
    "hasKeys": true,
    "publicKey": "BJ8example-vapid-public-key-base64url-encoded-application-server-key9xY",
    "vapidSubject": "mailto:push@yourapp.com",
    "generatedAt": "2024-01-15T10:00:00.000Z"
  }
}
{
  "success": true,
  "data": {
    "enabled": true,
    "hasKeys": true,
    "publicKey": "BJ8example-vapid-public-key-base64url-encoded-application-server-key9xY",
    "vapidSubject": "mailto:push@yourapp.com",
    "generatedAt": "2024-01-15T10:00:00.000Z"
  }
}
400-
404-

Errors

CodeMeaning
400-
404-
Edit this page on GitHub
Chat with us