Dashboard · Webhooks

Permissions & API

Manage webhook endpoints with dashboard JWT or Management API tokens — least privilege via settings.webhook permissions.

mt_settings.webhook

Who can manage

  • Dashboard: website owner or admin collaborator
  • Management API: token with settings.webhook:read and/or settings.webhook:write
  • full_admin (*:*) covers all webhook routes — see API tokens

Management API routes

Base: https://api.macrocontent.dev/management · Auth: X-Macro-Token: mt_…

GET/management/webhooks/eventsmt_

Event catalog, presets, sample messages (read).

GET/management/webhooksmt_

List endpoints for the website (read).

POST/management/webhooksmt_

Create endpoint; returns raw secret once (write).

PATCH/management/webhooks/:webhookIdmt_

Update name, URL, events, enabled, payload config (write).

DELETE/management/webhooks/:webhookIdmt_

Delete endpoint (write).

GET/management/webhooks/:webhookId/credentialmt_

Reveal signing secret (read).

POST/management/webhooks/:webhookId/rotate-secretmt_

Rotate signing secret (write).

POST/management/webhooks/:webhookId/testmt_

Send webhook.test (write).

GET/management/webhooks/:webhookId/deliveriesmt_

Delivery log (read).

POST/management/webhooks/:webhookId/deliveries/:deliveryId/resendmt_

Resend a delivery (write).

Minimal create example

bash
curl -sS -X POST https://api.macrocontent.dev/management/webhooks \
  -H "X-Macro-Token: mt_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "CI notify",
    "url": "https://example.com/hooks/macro",
    "events": ["content.published", "domain.active"]
  }'

Granting permission on a token

In Settings → API Tokens, add explicit allows such as settings.webhook:read and settings.webhook:write, or use full_admin only when the job truly needs every Management route.

Interactive reference
Browse schemas in Management API · Swagger.