Events
Plextera can push product events to client-controlled webhook endpoints. This lets you react to job and run completions without polling.
Available events
Setup
Create an event subscription
Call POST /event-subscriptions with:
endpointUrl— the URL Plextera should POST events toeventTypes— the event types to subscribe tosigningSecret— a secret used to sign deliveries (see Verifying signatures)workflowId(optional) — filter workflow events to a specific workflowdocumentInsightsOperation(optional) — filter Document Insights events to a specific operation (e.g.extract)
Payload model
Every event uses a common envelope:
The data field contains the event-specific payload. See the Event Reference for full schemas and examples.
Delivery headers
Every webhook delivery includes:
Verifying signatures
Each delivery is signed using the signingSecret you provided when creating the subscription. Verify the signature to confirm the delivery came from Plextera and the payload was not tampered with.
Signature format:
Verification steps:
- Extract
t(timestamp) andv1(signature) from the header. - Construct the signed payload:
<t>.<raw request body>. - Compute HMAC-SHA256 of the signed payload using your
signingSecret. - Compare your computed signature to
v1using a constant-time comparison. - Optionally reject deliveries where
tis more than a few minutes in the past (replay protection).
The signing secret is write-only — it is never returned in API responses. Store it securely. To rotate it, update the subscription with a new signingSecret; all subsequent deliveries will use the new value.
Delivery semantics
- Any
2xxresponse marks the delivery as successful. - Non-
2xxresponses trigger retries with exponential backoff. - Plextera deduplicates terminal events per subscription — each job or run reaches a terminal state at most once, so at most one delivery is attempted per event type per subscription.
Next steps
- Event Reference — full webhook payload schemas and examples
- Event Subscriptions — create and manage subscriptions