putty
API ReferenceArtifacts

Zernio post status deliveries

Where Zernio POSTs `post.scheduled`, `post.published`, `post.failed`, `post.partial` and `post.cancelled` for a user's own account. **This route is public** — there is no session on a delivery from Zernio's servers — so the per-user signing secret is the only credential. It looks the caller's `ZERNIO_WEBHOOK_SECRET` up by `ownerWebhookId`, verifies the lowercase-hex HMAC-SHA256 of the raw body against the `X-Zernio-Signature` header, and only then updates the matching `PublishRequest`. A delivery that fails verification answers 401 and changes nothing. Zernio retries a non-2xx up to seven times on an exponential backoff, so an unparseable or untracked event answers 200 and is dropped rather than burning the retry ladder.

POST
/social/webhooks/zernio/{ownerWebhookId}

Where Zernio POSTs post.scheduled, post.published, post.failed, post.partial and post.cancelled for a user's own account. This route is public — there is no session on a delivery from Zernio's servers — so the per-user signing secret is the only credential. It looks the caller's ZERNIO_WEBHOOK_SECRET up by ownerWebhookId, verifies the lowercase-hex HMAC-SHA256 of the raw body against the X-Zernio-Signature header, and only then updates the matching PublishRequest. A delivery that fails verification answers 401 and changes nothing. Zernio retries a non-2xx up to seven times on an exponential backoff, so an unparseable or untracked event answers 200 and is dropped rather than burning the retry ladder.

Path Parameters

ownerWebhookId*string

The random per-user id putty minted. It is not a Privy DID, so the public URL leaks no user identifier.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/social/webhooks/zernio/string"
{  "applied": true,  "status": "string"}