Notification event delivered to a generic webhook service
Sent by Praxrr (not served by it) to the URL of each enabled “Webhook” notification service
subscribed to the event type. The body is serialized once and the optional signature covers
those exact bytes. Any 2xx response acknowledges delivery; network errors, 408, 429 and 5xx are
retried (up to 3 attempts total, honoring Retry-After up to 60 s). Custom headers configured
on the service are also sent; they cannot override the headers documented here.
Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Notification event type; equals type in the body.
Unix time in seconds when the request was signed. Present only when a signing secret is configured.
sha256= followed by the lowercase hex HMAC-SHA256 of "<X-Praxrr-Timestamp>.<raw body>", keyed
with the service’s signing secret. Present only when a signing secret is configured.
Request Bodyrequired
Section titled “Request Bodyrequired”Versioned JSON body POSTed by a Praxrr “Webhook” notification service for every subscribed event.
Headers sent with every request:
Content-Type: application/jsonX-Praxrr-Event: <type>— the notification type (same astypein the body).
When the service has a signing secret configured, two more headers are sent:
X-Praxrr-Timestamp: <unix seconds>X-Praxrr-Signature: sha256=<hex>— lowercase hex HMAC-SHA256 keyed with the secret over"<X-Praxrr-Timestamp>.<raw request body>". Verify against the exact received bytes and reject stale timestamps to prevent replay.
Transient failures (network errors, 408, 429, 5xx) are retried with the same id, so receivers
can deduplicate on it.
object
Payload schema version. Incremented only on breaking changes.
Unique delivery id, reused across retries of the same request.
Notification event type, e.g. sync.failed, drift.detected, upgrade.success.
Severity derived from the event type (or set explicitly by the emitter).
Short human-readable title.
Human-readable message body (may be empty).
Arr instance id the event relates to, or null when not instance-specific.
Arr instance name, or null when not instance-specific.
Arr application type (e.g. radarr, sonarr), or null when not instance-specific.
ISO 8601 timestamp of when the event occurred.
Responses
Section titled “Responses”Delivery acknowledged. Any 2xx status is treated as success; the response body is ignored.