Manage webhook endpoints that receive event notifications from Improvado.
Webhooks let your application react to platform events (extraction completion, load completion, etc.) in near real time, without polling. Each endpoint is workspace-scoped and subscribes to one or more event types.
Lifecycle:
- Register an endpoint with the URL of your receiver and the event types you care about.
Improvado returns an
idand asecret, and the endpoint is created inunverifiedstatus. - Verify ownership by calling the verify action. Improvado sends a GET request to your URL with
X-Improvado-Verify-TokenandX-Improvado-Challengeheaders. Your receiver must respond with HTTP 200 and the challenge value as the response body. After successful verification the endpoint moves toactive. - Receive events. Improvado POSTs JSON payloads
{id, type, timestamp, data}to your URL. Each request is signed with HMAC-SHA256 in theX-Improvado-Signatureheader (using the endpoint's secret) and includesX-Improvado-Idempotency-Keyfor safe retry handling. - Rotate the secret at any time. Rotation invalidates the previous secret immediately and resets the
endpoint to
unverifieduntil you re-verify.
Failed deliveries are retried up to four times with backoff [0s, 2s, 5s, 10s]. Receivers should aim to
respond within a few seconds and return 2xx for successful processing.
Create a webhook endpoint
Register a new webhook endpoint and subscribe it to one or more event types. The endpoint is created
in unverified status and a fresh secret is returned in the response. Use the verify action to
activate the endpoint.
Important:
event_typesmust contain identifiers returned byGET /api/v3/webhook_event_types/(e.g.load_completed,transformation_completed). Unknown event names are accepted by the request but no deliveries will be sent for them — always source the names from the event types endpoint rather than hard-coding them.
Create a webhook endpoint › Request Body
urlHTTPS URL of the receiver that will accept event deliveries.
event_typesEvent types this endpoint will subscribe to. See GET /api/v3/webhook_event_types/ for the list of
available event names. Duplicates are deduplicated server-side. May be empty.
Create a webhook endpoint › Responses
Webhook endpoint created
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atGet a webhook endpoint
Retrieve detailed information about a webhook endpoint, including its current subscriptions and signing secret.
path Parameters
idWebhook endpoint ID
Get a webhook endpoint › Responses
Webhook endpoint detail
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atUpdate a webhook endpoint
Partially update a webhook endpoint. Either field may be omitted.
- Setting
event_typesreplaces the full list of subscriptions for this endpoint. - Updating either field resets the endpoint status to
unverified; you must callverifyagain before the endpoint will receive events.
path Parameters
idWebhook endpoint ID
Update a webhook endpoint › Request Body
urlevent_typesUpdate a webhook endpoint › Responses
Webhook endpoint updated
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atVerify a webhook endpoint
Trigger ownership verification of the endpoint URL.
Improvado sends a GET request to the endpoint URL with the headers:
X-Improvado-Verify-Token— the endpoint's signing secretX-Improvado-Challenge— a one-time random token
The receiver must respond with HTTP 200 and the value of X-Improvado-Challenge as the response body.
On success, the endpoint transitions to active. On failure (non-200 status, mismatching body, or
connection error), the endpoint remains unverified and a 400 is returned.
path Parameters
idWebhook endpoint ID
Verify a webhook endpoint › Responses
Endpoint verified successfully (status is now active)
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atRotate the signing secret
Generate a new signing secret for the endpoint. The previous secret is invalidated immediately and
the endpoint is reset to unverified status, so the endpoint must be re-verified before it will
receive further events. Update your receiver to use the new secret before re-verification.
path Parameters
idWebhook endpoint ID
Rotate the signing secret › Responses
Secret rotated; the new secret is in the response body.
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atList available webhook event types
List event types that can be subscribed to via event_types when creating or updating a webhook endpoint.
List available webhook event types › Responses
List of supported event types
event_nameIdentifier of the event type (used in event_types when creating subscriptions)

