Setting up a webhook
1
Open Settings → Webhooks
In the dashboard, open Settings and select Webhooks.
2
Enter a public HTTPS endpoint
Click Add Webhook and enter a publicly reachable HTTPS URL. PostSider blocks localhost, private IP ranges, link-local addresses, and non-HTTP protocols. OSS generates the signing secret automatically and shows it once when the webhook is created. Store it securely because it is not shown again.
3
Save the webhook
Save the endpoint and copy its signing secret. New endpoints with a secret include
X-Postsider-Signature, X-Postsider-Timestamp, and X-Webhook-Attempt headers.Event and payload
OSSv1.0.1 sends the single event post.published after a successful publish. Every delivery includes X-Postsider-Event, X-Postsider-Timestamp (unix seconds), and X-Webhook-Attempt (1-based, 1..3). The signature header is added only when a signing secret is configured. The JSON body is a serialized array of the matching post records - one element per published post:
Verify signatures
Signed requests includeX-Postsider-Signature and X-Postsider-Timestamp. The signature is sha256=<hex>, calculated as HMAC-SHA256 of timestamp + "." + rawBody, using the webhook secret. Reject timestamps older than five minutes.
Retry behavior
PostSider retries timeouts, network failures, and server errors (5xx) up to three total attempts. Client errors (4xx) are logged and are not retried:
After three failed attempts the delivery is abandoned. Make your endpoint idempotent and use the post id from the body as a deduplication key.

