/📘 API Reference/Webhooks

Webhooks

Receive real-time HTTP callbacks whenever posts are published, fail, or change status.

Overview

Add a webhook endpoint in the Developer dashboard, then subscribe to the events you care about. Each delivery is a signed POST to your URL.

Event types

  • post.scheduleda post has been queued for future publish.
  • post.publisheda post successfully delivered to at least one platform.
  • post.faileddelivery failed on one or more platforms.
  • post.deleteda scheduled post was cancelled.

Payload

POST https://yourapp.com/webhooks/plansched
X-PlanSched-Signature: t=1721556252,v1=af12...

{
  "event": "post.published",
  "created_at": "2026-08-01T15:30:04Z",
  "data": {
    "id": "post_abc123",
    "account_ids": ["acc_1a2b3c"],
    "published_at": "2026-08-01T15:30:04Z"
  }
}

Verifying signatures

Each request includes an X-PlanSched-Signature header. Verify it with your webhook secret using HMAC-SHA256 over the raw request body prefixed with the timestamp.

const signed = `${timestamp}.${rawBody}`;
const expected = crypto
  .createHmac("sha256", process.env.WEBHOOK_SECRET)
  .update(signed)
  .digest("hex");
// timingSafeEqual(expected, provided_v1)
Next
AI Agents & MCP → Quickstart
Continue