Webhooks
POST
/webhooks

Registers a URL to receive the events you subscribe to. Duplicated event ids are collapsed; an unknown one is refused with warning-invalid-events listing the valid ids.

This is the only response that carries the signing secret. Store it now: every later read omits it, and you need it to verify the X-ShortFast-Signature header. A workspace can hold at most 25 endpoints.

Authorization

bearerAuth
AuthorizationBearer <token>

An API key created under Settings > API & Webhooks. Keys start with sf_live_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/webhooks" \  -H "Content-Type: application/json" \  -d '{    "url": "https://hooks.example.com/shortfast",    "events": [      "video.render_completed",      "video.published",      "automation.stopped"    ]  }'
{  "data": {    "id": "wh8Kd2mR5tQ9vN3xz",    "url": "https://hooks.example.com/shortfast",    "events": [      "video.render_completed",      "video.published",      "automation.stopped"    ],    "enabled": true,    "createdAt": "2026-08-06T11:00:00.000Z",    "updatedAt": "2026-08-06T11:00:00.000Z",    "lastDeliveryAt": null,    "failureCount": 0,    "disabledReason": null,    "secret": "whsec_3nQv8Kd2mR5tQ9vN3xzLp7Yc1Wb4Ae6F"  }}