OpenAPI operations
Publish an event over the API
const url = 'https://api.hooks.events/v1/endpoints/example/events';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"payload":"example","eventType":"example","headers":{"additionalProperty":"example"},"idempotencyKey":"example","deliverAt":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.hooks.events/v1/endpoints/example/events \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "payload": "example", "eventType": "example", "headers": { "additionalProperty": "example" }, "idempotencyKey": "example", "deliverAt": "2026-04-15T12:00:00Z" }'API-key authentication replaces the inbound webhook signature. The event runs through the same normalization, filters, quota, fan-out and task triggers as /in/{publicId}. Send Idempotency-Key (or idempotencyKey) to collapse retries into the first event.
Requires the endpoints:write scope.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
object
ISO 8601 UTC time for the first delivery attempt; past values deliver now
Example generated
{ "payload": "example", "eventType": "example", "headers": { "additionalProperty": "example" }, "idempotencyKey": "example", "deliverAt": "2026-04-15T12:00:00Z"}Responses
Section titled “Responses”Success
Published event ingest result
object
Filter reason when status is filtered
Per-destination filter rejections
Example
{ "status": "accepted"}Validation error
object
object
Machine-readable error code
Request id, also echoed in x-request-id
Per-field validation details for VALIDATION_ERROR
object
Body or query field that failed validation
Example generated
{ "error": { "code": "example", "message": "example", "requestId": "example", "issues": [ { "path": "example", "message": "example" } ] }}Missing or invalid credentials
object
object
Machine-readable error code
Request id, also echoed in x-request-id
Per-field validation details for VALIDATION_ERROR
object
Body or query field that failed validation
Example generated
{ "error": { "code": "example", "message": "example", "requestId": "example", "issues": [ { "path": "example", "message": "example" } ] }}The credential lacks the required scope, or the workspace is not writable
object
object
Machine-readable error code
Request id, also echoed in x-request-id
Per-field validation details for VALIDATION_ERROR
object
Body or query field that failed validation
Example generated
{ "error": { "code": "example", "message": "example", "requestId": "example", "issues": [ { "path": "example", "message": "example" } ] }}Resource not found
object
object
Machine-readable error code
Request id, also echoed in x-request-id
Per-field validation details for VALIDATION_ERROR
object
Body or query field that failed validation
Example generated
{ "error": { "code": "example", "message": "example", "requestId": "example", "issues": [ { "path": "example", "message": "example" } ] }}Rate limited
object
object
Machine-readable error code
Request id, also echoed in x-request-id
Per-field validation details for VALIDATION_ERROR
object
Body or query field that failed validation
Example generated
{ "error": { "code": "example", "message": "example", "requestId": "example", "issues": [ { "path": "example", "message": "example" } ] }}Headers
Section titled “Headers”Requests allowed per window
Seconds until the window resets
Seconds to wait before retrying. Absent when the rejection has no retry time (for example the Free lifetime quota).
Request allowance for the workspace’s plan
Requests left in the allowance after this request