Webhooks

Manually trigger an outbound webhook

Queues an HTTP delivery to **`url`** for **`projectId`** (must belong to your org). Creates a **`WebhookLog`** row, runs delivery, and returns the new log’s **`_id`**. **Response field `webhookId`:** This is the **MongoDB `_id` of the delivery log** (same as the log’s **`_id`** in list endpoints). It is **not** part of the request body and is **not** the project `webhookSecret` from **`PUT .../config`**. **Auth:** Org JWT, project JWT, or project API key with **project `update`** permission.

AuthJWT or API Key
GroupWebhooks
Rate limitSee Rate Limits
POST/api/webhooks/trigger

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.triggerWebhook(
  {
    projectId: "proj_J3NAzhV2xF1d",
    url: "https://flustered-merit.info",
    event: "card quantify",
    payload: "driver calculate",
    method: "circuit compress"
  }
);
const { data: result } = await webhooks.triggerWebhook(
  {
    projectId: "proj_J3NAzhV2xF1d",
    url: "https://flustered-merit.info",
    event: "card quantify",
    payload: "driver calculate",
    method: "circuit compress"
  }
);

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 →

Request Body

json
{
  "projectId": "proj_qh5hFHNT70YZ",
  "url": "https://scented-pleasure.biz/",
  "event": "bus input",
  "payload": {},
  "method": "PUT"
}
{
  "projectId": "proj_qh5hFHNT70YZ",
  "url": "https://scented-pleasure.biz/",
  "event": "bus input",
  "payload": {},
  "method": "PUT"
}

Responses

200Delivery queued; **`webhookId`** is the new log document **`_id`**
json
{
  "message": "Webhook triggered successfully",
  "webhookId": "685af3992f9c4c96514247e9"
}
{
  "message": "Webhook triggered successfully",
  "webhookId": "685af3992f9c4c96514247e9"
}
400Missing projectId, invalid project id, or invalid URL (SSRF guard)
json
{
  "error": "program back up"
}
{
  "error": "program back up"
}
404Project not found or not in your org
500

Errors

CodeMeaning
400Missing projectId, invalid project id, or invalid URL (SSRF guard)
404Project not found or not in your org
500
Edit this page on GitHub