Webhooks

Create or update project webhook

Set or update the project webhook URL and options. This is how you **add** or **create** a webhook for a project: provide **webhookUrl** to enable delivery; omit or set to null to disable. Optionally set **webhookSecret**, **webhookEvents**, **webhookVersion**, and **transformations**. Plan limits (webhooks per project) apply when adding a new URL. Requires ProjectBearerAuth (JWT) or ApiKeyAuth (X-API-Key) with project update access.

AuthJWT or API Key
GroupWebhooks
Rate limitSee Rate Limits
PUT/api/webhooks/projects/{projectId}/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, WebhooksApi } 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 webhooks = new WebhooksApi(configuration);
import { Configuration, WebhooksApi } 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 webhooks = new WebhooksApi(configuration);

Example request

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

const { data: result } = await webhooks.configureWebhook(
  "proj_1sOliOBRzSKB",
  {
    webhookUrl: "https://young-instance.biz",
    webhookSecret: "Str0ng_Sample_Pass!w0rd",
    webhookEvents: "feed navigate",
    webhookVersion: "array navigate",
    transformations: "microchip connect"
  }
);
const { data: result } = await webhooks.configureWebhook(
  "proj_1sOliOBRzSKB",
  {
    webhookUrl: "https://young-instance.biz",
    webhookSecret: "Str0ng_Sample_Pass!w0rd",
    webhookEvents: "feed navigate",
    webhookVersion: "array navigate",
    transformations: "microchip connect"
  }
);

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
{
  "webhookUrl": "https://lanky-pasta.org/",
  "webhookSecret": "Str0ng_Sample_Pass!w0rd",
  "webhookEvents": [
    "application connect"
  ],
  "webhookVersion": "matrix navigate",
  "transformations": [
    {
      "type": "filter",
      "config": {}
    }
  ]
}
{
  "webhookUrl": "https://lanky-pasta.org/",
  "webhookSecret": "Str0ng_Sample_Pass!w0rd",
  "webhookEvents": [
    "application connect"
  ],
  "webhookVersion": "matrix navigate",
  "transformations": [
    {
      "type": "filter",
      "config": {}
    }
  ]
}

Responses

200Webhook configuration updated
json
{
  "success": true,
  "message": "Webhook configuration updated",
  "data": {
    "webhookUrl": "https://your-app.com/webhooks/mudbase",
    "webhookEvents": [
      "collection.insert",
      "collection.update"
    ],
    "webhookVersion": "1.0",
    "transformations": []
  }
}
{
  "success": true,
  "message": "Webhook configuration updated",
  "data": {
    "webhookUrl": "https://your-app.com/webhooks/mudbase",
    "webhookEvents": [
      "collection.insert",
      "collection.update"
    ],
    "webhookVersion": "1.0",
    "transformations": []
  }
}
403Project webhook limit reached for your plan
json
{
  "success": true,
  "error": "program back up",
  "limit": 228.96
}
{
  "success": true,
  "error": "program back up",
  "limit": 228.96
}
404Project not found
json
{
  "success": true,
  "error": "program back up"
}
{
  "success": true,
  "error": "program back up"
}
500

Errors

CodeMeaning
403Project webhook limit reached for your plan
404Project not found
500
Edit this page on GitHub