Skip to main content
POST
Create Webhook

Authorizations

x-api-key
string
header
required

Headers

Pulse-Version
string
default:2

Body

application/json

A new webhook for your organization.

url
string
required

The URL Pulse sends events to: a public https URL on port 443, at most 2,048 characters, with no credentials in it. You can't change it later.

Minimum string length: 1
events
enum<string>[]

The events to send, each named <job type>.<status>, such as extract.completed. Defaults to none.

Available options:
parse.queued,
parse.processing,
parse.completed,
parse.failed,
parse.canceled,
extract.queued,
extract.processing,
extract.completed,
extract.failed,
extract.canceled,
split.queued,
split.processing,
split.completed,
split.failed,
split.canceled,
classify.queued,
classify.processing,
classify.completed,
classify.failed,
classify.canceled,
tables.queued,
tables.processing,
tables.completed,
tables.failed,
tables.canceled,
charts.queued,
charts.processing,
charts.completed,
charts.failed,
charts.canceled,
pipeline.queued,
pipeline.processing,
pipeline.completed,
pipeline.failed,
pipeline.canceled
description
string

A note for your own reference.

Required string length: 1 - 500
headers
Headers · object

Static headers to send with every delivery, such as a token your gateway checks. You can set up to 5, but not Pulse's own, such as Content-Type or webhook-*. Values are encrypted and never returned.

secret
string

The signing secret, as whsec_ followed by the base64 of 24 to 64 random bytes. If omitted, Pulse generates one. Only the create response returns it.

Response

The new webhook, its secret, and how its first ping went.

The new webhook, its secret, and how its first ping went.

webhook_id
string
required

The webhook's id, webhook-<uuid>.

url
string
required

The URL Pulse sends this webhook's events to.

events
enum<string>[]
required

The events this webhook receives. An empty list means none.

Available options:
parse.queued,
parse.processing,
parse.completed,
parse.failed,
parse.canceled,
extract.queued,
extract.processing,
extract.completed,
extract.failed,
extract.canceled,
split.queued,
split.processing,
split.completed,
split.failed,
split.canceled,
classify.queued,
classify.processing,
classify.completed,
classify.failed,
classify.canceled,
tables.queued,
tables.processing,
tables.completed,
tables.failed,
tables.canceled,
charts.queued,
charts.processing,
charts.completed,
charts.failed,
charts.canceled,
pipeline.queued,
pipeline.processing,
pipeline.completed,
pipeline.failed,
pipeline.canceled
events_from
Events From · object
required

For each event, the time it takes effect. The event is sent only for jobs created after that time.

enabled
boolean
required

Whether Pulse sends events to this webhook. It's false when you or Pulse turned the webhook off.

disabled_reason
enum<string> | null
required

Why Pulse turned the webhook off: delivery_failures (10 events in a row undelivered, or 3 days of failed deliveries) or gone (your endpoint returned 410). It's null while on, or if you turned it off.

Available options:
delivery_failures,
gone
header_names
string[]
required

The names of the webhook's static headers. Their values are never returned.

created_at
string
required

When the webhook was created.

secret
string
required

The secret Pulse signs this webhook's deliveries with, starting whsec_. Store it now, because Pulse returns it only once.

ping
WebhookPingResponse · object
required

How the first webhook.ping went. It waits only 5 seconds, so a timeout may mean your endpoint was starting up. Test again with POST /webhook/{webhook_id}/ping, which waits 15 seconds.