Webhooks Endpoint
Register a URL to receive post lifecycle events. For payload shape, signature verification, and retry behavior, see the Webhooks guide.
Register a webhook
POST
/v1/webhooksBody parameters
| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | HTTPS endpoint OmniPost will POST events to. |
| events | array<"post.completed"|"post.failed"> | Yes | Which event types to receive. Must include at least one. |
curl -X POST https://api.omnipost.dev/v1/webhooks \
-H "Authorization: Bearer $OMNIPOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/omnipost",
"events": ["post.completed", "post.failed"]
}'Response
201 Created. secret is returned in full only on this call — store it now.
{
"id": "wh_3a7c9f1b2e8d4056",
"url": "https://yourapp.com/webhooks/omnipost",
"events": ["post.completed", "post.failed"],
"secret": "whsec_5f1a9c2b7e4d4083ae1b9c7f2d4e6a80",
"created_at": "2026-08-02T14:00:00Z"
}A workspace can register multiple webhook endpoints — useful for sending events to both a production handler and a staging/debug one. Each gets its own independent secret.