Skip to content

Events

The data field of the envelope always includes the affected resource plus any extras named below. Every payload is snake_case.

Fired when a new content object appears (via API, dashboard, or campaign generation).

{
"content": { "object": "content", "id": "cnt_...", "status": "draft", "..." : "..." }
}

Fired on any successful PATCH /content/{id}.

{
"content": { "object": "content", "id": "cnt_...", "..." : "..." }
}

Fires only when status transitions to approved. Not fired if the content is created directly in approved.

{
"content": { "object": "content", "id": "cnt_...", "status": "approved", "..." : "..." }
}

Fires once per content item after at least one platform accepts the post. The platforms array contains one entry per targeted destination with the outcome for that leg.

{
"content": { "id": "cnt_9f2c8e7b1a3d4f60", "object": "content" },
"published_at": "2026-07-19T13:00:03Z",
"platforms": [
{ "platform": "instagram", "success": true, "platform_post_id": "17987654...", "error": null },
{ "platform": "tiktok", "success": true, "platform_post_id": "7391812390000000000", "error": null }
]
}

Fires when every targeted platform rejected the post. Payload mirrors content.published without platform_post_id fields; each leg has error populated.

Fires on hard or soft delete.

{
"content": { "id": "cnt_9f2c8e7b1a3d4f60", "object": "content" }
}

Fires when a campaign transitions to active.

{
"campaign": { "object": "campaign", "id": "cmp_4b7f2a91c3d80e56", "status": "active", "..." : "..." },
"scheduled_posts": 10,
"skipped_posts": 0
}

Fires on completed OAuth or a resolved WhatsApp Business callback.

{
"platform": "instagram",
"account": {
"platform_user_id": "17841400000000000",
"platform_username": "acme.studio",
"account_type": "business"
}
}

Fires when the user removes the app, when Meta calls the data-deletion callback, or when DELETE /social_accounts/{id} is called. The reason field tells you which.

{
"platform": "instagram",
"account": {
"platform_user_id": "17841400000000000",
"platform_username": "acme.studio"
},
"reason": "deauthorized"
}

Possible reason values: deauthorized, data_deletion, api.