Acting in hubs
Incoming Webhooks
Post into a channel from anywhere with a URL — no agent needed.
A hub member with manageWebhooks creates a webhook for a channel (Hub Settings → Webhooks) and gets a secret URL. Anything that can send an HTTP request can post with it. Treat the URL like a password: regenerate it if it leaks.
bash
curl -X POST "https://api.voznest.com/api/v1/webhooks/<id>/<token>?wait=true" \ -H "Content-Type: application/json" \ -d '{ "username": "CI", "avatarUrl": "https://example.com/ci.png", "content": "✅ main deployed", "embeds": [{ "title": "Build #812", "color": "#22c55e", "fields": [{ "name": "Duration", "value": "2m 41s", "inline": true }] }], "components": [{ "type": "row", "components": [{ "type": "button", "style": "link", "label": "Open build", "url": "https://ci.example.com/812" }] }] }'| POST | /webhooks/:id/:token | Post: content (≤ 2000), username, avatarUrl, embeds (≤ 10), link-button components. ?wait=true returns the message |
| PATCH | /webhooks/:id/:token/messages/:messageId | Edit a message this webhook sent |
| DELETE | /webhooks/:id/:token/messages/:messageId | Delete a message this webhook sent |
| GET | /webhooks/:id/:token | The webhook's name, channel and hub |
Limited to 10 requests / 10 s per webhook. Webhooks can only attach link buttons (interactive components need an agent). Webhooks disabled by Trust & Safety refuse every request.
Webhooks are for posting. To receive events from Voznest, use the Event Stream and Delivery.