> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Actions

> Webhook Actions and Events

There are several types of webhooks available and categorized by Action type.
For example, a scheduled post will trigger a `scheduled` action webhook.
Please see the [webhook overview](/docs/apis/webhooks/overview) for more details.

After registering a webhook URL, you will receive an POST request to your URL when an event occurs.
The POST request will include a JSON payload with the event details.

<h2 id="scheduled-action">
  Scheduled Action
</h2>

You will receive this webhook notification when a scheduled post is processed — whether it succeeds or fails — and published to the selected social networks.

For example, if you schedule a post for 12:00 PM on August 1, 2026, the webhook will be sent at the exact time the post is published.

Webhook notifications are only sent for posts scheduled in the future using the `scheduleDate` field in the [/post](/docs/apis/post/post) endpoint.

### Scheduled Event

```json theme={"system"}
{
  "action": "scheduled", // The action taken
  "subAction": "tikTokPublished", // Only present when TikTok video publishing complete
  "created": "2023-01-05T01:18:47Z",
  "code": 200, // HTTP response code
  "refId": "140b8700bd6ade089b242d845e268fb886130c53", // User Reference ID
  "status": "success", // success or error
  "id": "TBAAAqAMMpoweA9wKHUp", // Ayrshare id of post
  "errors": [], // List of errors if any occurred
  "postIds": [
    // Individual successful posts status
    {
      "postUrl": "https://www.facebook.com/102775127855689_361718068618052",
      "platform": "facebook",
      "status": "success",
      "id": "102775127855689_361718068618052"
    }
  ],
  "url": "https://mysite.com/webhook" // Your webhook URL
}
```

<Note>
  You will not receive a webhook notification for immediate posts, because the API returns the success or failure response instantly in the JSON reply.
  Webhook notifications are only sent for scheduled posts, since these are processed asynchronously and require a separate notification to inform you of their status.
</Note>

<h3 id="tiktok-publishing-webhook">
  TikTok Publishing Webhook
</h3>

When working with TikTok via Ayrshare, you might receive two different webhooks for a scheduled post.

If your post was scheduled rather than immediate, you'll receive the standard **Scheduled Action** webhook first.
This indicates that the media has been successfully sent to TikTok for processing and posting.

Afterwards, you will receive the `subAction: tikTokPublished` webhook.
This is triggered once TikTok has completed processing the media and the media is made public.

This webhook is activated for both immediate posts and scheduled posts.
In the Ayrshare dashboard, this event is labeled as **tikTok (pub)**.

<Warning>
  The `tikTokPublished` webhook is not sent until the [media is made public](/docs/apis/post/social-networks/tiktok#visibility-options).
  If the media is set to private, followers, or friends, the webhook will not be sent.

  If you do not receive the `tikTokPublished` webhook and the post status remains `pending`, check the TikTok mobile app to ensure the media has been accepted by TikTok.
</Warning>

<h2 id="social-action">
  Social Action
</h2>

Notification when a user's profile links or unlinks a social network.

### Social Action Event

```json theme={"system"}
{
  "action": "social", // The action taken
  "created": "2023-01-05T01:18:47Z",
  "code": 200, // HTTP response code
  "details": {
    // Optional: if details available
    "status": "error",
    "code": 349,
    "message": "Account locked"
  },
  "displayName": "Instagram Title", // If a user account name is present at the social network
  "hookId": "TKLc30192HLGw5UeJ46",
  "platform": "instagram", // The social platform the action occured
  "refId": "140b8700bd6ade089b242d845e268fb886130c53", // User Reference ID
  "refreshBy": "2022-11-05T12:21:29Z", // Optional: If type is refresh, the date the social network authorization must be refreshed on the social account linkage page
  "source": "system", // Initiated by "system" or "user".
  "title": "User Profile Name", // The user profile's account title
  "type": "link", // Type of action: link, unlink, or refresh
  "url": "https://mysite.com/webhook" // Your webhook URL
}
```

A `source` of `system` means Ayrshare automatically unlinked the account, such as when the social network connection is no longer valid. We recommend you notify your user so they can continue posting. Details of the unlinking found `details` field. An email will also be sent to the Primary Account email address, or [alt emails](/docs/multiple-users/manage-user-profiles#alternative-emails-for-alerts) if they have been set up.

A `source` of `user` means the user initiated the action themselves, such as they manually unlinked an account. An email will not be sent when a user initiated action occurs.

<h2 id="messages-action">
  Messages Action
</h2>

The Messaging Add-On is required to access all messages endpoints and webhooks.

For Facebook and Instagram, receive notifications when a direct message arrives, is read, or has
a reaction created or deleted. WhatsApp currently sends a notification to your registered webhook
URL only when a new incoming message is stored.

X/Twitter webhooks are available as an option for Enterprise clients.
Please contact your account representative for more information about becoming an Enterprise client.

WhatsApp does not emit reaction or delivery-status webhooks to your registered URL today. Stored
outbound messages can have a `status` value of `sent`, `delivered`, `read`, or `failed` — see
[WhatsApp Message Status](#whatsapp-message-status) below.

### Standby coverage for Facebook Pages with multiple apps

Ayrshare subscribes to Facebook's `standby` webhook field in addition to the standard messaging fields. This means Messenger events are delivered to your webhook **even when another app on the same Facebook Page is currently holding thread control** — for example, when a chatbot platform is set as your Page's primary receiver, or when Meta's Page Inbox is actively handling a conversation.

There is no schema change for these events. They arrive as the same `messageCreated` / `messageRead` / `reactionCreated` / `messageEdited` payloads documented in the sections below. Two things to be aware of for Pages with a competing Messenger app installed:

* **Inbound message volume may increase** compared to the previous behavior, where standby events were silently dropped before being subscribed to. The new traffic represents messages your Page received that were being handled by the other app.
* **You may receive `messageCreated` events with `type: "sent"` that do not correspond to messages you sent through Ayrshare.** These are echoes of messages sent by the other Messenger app on your Page (Meta delivers a copy of every send to every subscribed app). If your integration reconciles outbound traffic against your own send history, you can use that history to distinguish your sends from a competing app's sends.

For Pages with only Ayrshare installed (no competing Messenger app), the only observable change is the new [Message Edit Event](#message-edit-event) — everything else looks identical to the previous behavior.

<h3 id="new-message-events">
  New Message Events
</h3>

Notification when a new message is sent or received.

<CodeGroup>
  ```json Facebook New Message theme={"system"}
  {
    "action": "messages",
    "conversationId": "t_10161117434308936",
    "created": "2024-06-07T11:58:44Z",
    "hookId": "JC6IgqFjvDliTJ8MLqzE",
    "id": "m_aWdfZAG1faXRlbToxOklHTWVzc2FnZAUlEOjE3ODQxNDUyMjEyNzA",
    "mediaUrls": [],
    "message": "This is an amazing message",
    "platform": "facebook",
    "recipientId": "7270633706358444",
    "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",
    "scheduleDate": "2024-06-07T11:58:44Z",
    "senderDetails": {
      // recipientDetails if type is sent
      "id": "7270633706358444",
      "picture": "https://scontent-ord5-2.cdninstagram.com/v/t51.jpg",
      "username": "SweetMessage",
      "name": "Sweet"
    },
    "senderId": "17841452212707444",
    "subAction": "messageCreated",
    "timeStamp": 1735189325, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "received", // received, sent, or deleted
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```

  ```json Instagram New Message theme={"system"}
  {
    "action": "messages",
    "conversationId": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6MTc4",
    "created": "2024-06-07T11:58:44Z",
    "hookId": "JC6IgqFjvDliTJ8MLqzE",
    "id": "aWdfZAG1faXRlbToxOklHTWVzc2FnZAUlEOjE3ODQxNDUyMjEyNzA",
    "mediaUrls": [],
    "message": "This is an amazing message",
    "platform": "instagram",
    "recipientId": "7270633706358444",
    "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",
    "scheduleDate": "2024-06-07T11:58:44Z",
    "senderDetails": {
      // recipientDetails if type is sent
      "id": "7270633706358444",
      "picture": "https://scontent-ord5-2.cdninstagram.com/v/t51.jpg",
      "username": "SweetMessage",
      "name": "Sweet"
    },
    "senderId": "17841452212707444",
    "subAction": "messageCreated",
    "timeStamp": 1735189325, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "received", // received, sent, or deleted
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```

  ```json WhatsApp New Message theme={"system"}
  {
    "action": "messages",
    "attachments": [
      {
        "type": "image",
        "url": "https://images.ayrshare.com/abc123/whatsapp_image_x9aB2pK7.jpg"
      }
    ],
    "conversationId": "14155551234",
    "created": "2026-05-18T17:08:41Z",
    "hookId": "JC6IgqFjvDliTJ8MLqzE",
    "id": "wamid.HBgLMTQxNTU1NTEyMzQVAgARGBI4OUYxRkExNzE0M0EwQTYwM0EA",
    "message": "Here's the photo you asked for.",
    "platform": "whatsapp",
    "recipientId": "123456789012345",
    "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",
    "senderDetails": {
      "id": "14155551234",
      "name": "Jane Customer"
    },
    "senderId": "14155551234",
    "timeStamp": 1747588121,
    "title": "Primary Profile",
    "url": "https://mysite.com/webhook"
  }
  ```

  For WhatsApp, `conversationId` and `senderId` are the correspondent's phone number in E.164
  digits-only format. `recipientId` is Meta's phone-number ID for your linked WhatsApp account.
  `timeStamp` is present when Webhook Security is enabled. Media messages use `attachments` rather
  than `mediaUrls`; attachment types can be `image`, `video`, `audio`, `document`, or `sticker`.
</CodeGroup>

### Message Read Event

Notification when a message is read by the recipient.

<CodeGroup>
  ```json Facebook Read theme={"system"}
  {
    "action": "messages",
    "conversationId": "t_10161117434308936",
    "created": "2024-06-08T23:33:30Z",
    "hookId": "CviPBMXEy3cdJnK0EESd",
    "platform": "facebook",
    "read": 1717889607802,  // UNIX timestamp of when the message was read
    "readerDetails": {
      "name": "John Smith",
      "id": "7101149746568444",
      "picture": "https://platform-lookaside.fbsbx.com/platform/profilepic"
    },
    "recipientId": "106638148652329",
    "refId": "9abf1426d6ce9122ef11c8932",
    "scheduleDate": "2024-06-08T23:33:30Z",
    "senderId": "7101149746568522",
    "subAction": "messageRead",
    "timeStamp": 1717889610, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "read",
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```

  ```json Instagram Read theme={"system"}
  {
    "action": "messages",
    "conversationId": "t_10161117434308938",
    "created": "2024-06-08T23:33:30Z",
    "hookId": "CviPBMXEy3cdJnK0EESd",
    "platform": "instagram",
    "read": {
      "mid": "aWdfZAG1faXRlbToxOkl" // Instagram message ID
    },
    "readerDetails": {
      "name": "John Smith",
      "id": "7101149746568444",
      "picture": "https://platform-lookaside.fbsbx.com/platform/profilepic",
      "username": "johnsmith"
    },
    "recipientId": "106638148652329",
    "refId": "9abf1426d6ce9122ef11c8932",
    "scheduleDate": "2024-06-08T23:33:30Z",
    "senderId": "7101149746568522",
    "subAction": "messageRead",
    "timeStamp": 1717889610, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "read",
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```
</CodeGroup>

When a message is read on Instagram, the webhook payload includes an `mid` field that uniquely identifies which specific message was read.

For Facebook messages, message reads are tracked at the conversation level using the `conversationId`.
When a read event occurs, all messages in that conversation with timestamps before the `created` (or `read`) timestamp should be considered read by the user.

### Reaction Created and Deleted Events

Notification when a reaction, such as a like, is created or deleted on a message.

<CodeGroup>
  ```json Facebook Reaction theme={"system"}
  {
    "action": "messages",
    "conversationId": "t_10161117434308936",
    "created": "2024-06-06T00:49:18Z",
    "hookId": "LcgLuXzZki15lqBNt69h",
    "mediaUrls": [],
    "platform": "facebook",
    "reaction": "😮",
    "recipientId": "106638148652444",
    "refId": "9abf1426d6ce9432",
    "scheduleDate": "2024-06-06T00:49:18Z",
    "senderId": "7101149746568444",
    "subAction": "reactionCreated", // reactionDeleted if deleted
    "timeStamp": 1717634958, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "reaction",
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```

  ```json Instagram Reaction theme={"system"}
  {
    "action": "messages",
    "conversationId": "aWdfZAG1faXRlbToxOklHTWVzc2FnZAUlEO",
    "created": "2024-06-06T00:49:18Z",
    "hookId": "LcgLuXzZki15lqBNt69h",
    "mediaUrls": [],
    "platform": "instagram",
    "reaction": "😮",
    "recipientId": "106638148652444",
    "refId": "9abf1426d6ce9432",
    "scheduleDate": "2024-06-06T00:49:18Z",
    "senderId": "7101149746568444",
    "subAction": "reactionCreated", // reactionDeleted if deleted
    "timeStamp": 1717634958, // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "reaction",
    "url": "https://mysite.com/webhook" // Your webhook URL
  }
  ```
</CodeGroup>

### Message Edit Event

Notification when a user edits a message they previously sent. Available for Facebook and Instagram direct messages.

The `messageEdit.mid` field matches the `id` of the original `messageCreated` event, so consumers can correlate the edit with the original message. The `messageEdit.text` field carries the new, edited message text.

<CodeGroup>
  ```json Facebook Message Edit theme={"system"}
  {
    "action": "messages",
    "conversationId": "t_10161117434308936",
    "created": "2024-06-06T00:49:18Z",
    "hookId": "LcgLuXzZki15lqBNt69h",
    "id": "m_xyz...",                    // Message ID — matches the original messageCreated event
    "messageEdit": {
      "mid": "m_xyz...",
      "text": "the edited message text"
    },
    "platform": "facebook",
    "recipientId": "106638148652444",
    "refId": "9abf1426d6ce9432",
    "senderId": "7101149746568444",
    "subAction": "messageEdited",
    "timeStamp": 1717634958,              // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "edit",
    "url": "https://mysite.com/webhook"   // Your webhook URL
  }
  ```

  ```json Instagram Message Edit theme={"system"}
  {
    "action": "messages",
    "conversationId": "aWdfZAG1faXRlbToxOklHTWVzc2FnZAUlEO",
    "created": "2024-06-06T00:49:18Z",
    "hookId": "LcgLuXzZki15lqBNt69h",
    "id": "aWdfZAG1faXRlbToxOkl",
    "messageEdit": {
      "mid": "aWdfZAG1faXRlbToxOkl",
      "text": "the edited message text"
    },
    "platform": "instagram",
    "recipientId": "106638148652444",
    "refId": "9abf1426d6ce9432",
    "senderId": "7101149746568444",
    "subAction": "messageEdited",
    "timeStamp": 1717634958,              // Present if Webhook Security enabled
    "title": "Primary Profile",
    "type": "edit",
    "url": "https://mysite.com/webhook"   // Your webhook URL
  }
  ```
</CodeGroup>

### WhatsApp Message Status

WhatsApp tracks per-message delivery state on stored outbound messages using one `status` field:
`sent`, `delivered`, `read`, or `failed`. These updates are **not currently delivered to your
registered webhook URL** as separate events. If you need real-time delivery state, please contact
your Ayrshare account representative.

<h2 id="batch-action">
  Batch Action
</h2>

Notification when a batch has completed processing and the file is available, such as [get all user profiles](/docs/apis/user/batch-all-users). You may access the file with the pre-signed URL in the `url` field.

### Batch Event

```json theme={"system"}
{
  "action": "batch",
  "batchType": "users",
  "created": "2024-01-11T22:00:30Z",
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",
  "source": "user",
  "timeStamp": 1705010424, // Present with Webhook Security
  "title": "Primary Profile",
  "type": "batch",
  "url": "https://storage.googleapis.com/batch.ayrshare.com/users/dfdf92jskd933r/users-batch-2024-01-11-22-00.json",
  "urlExpires": "2024-01-18T22:00:04Z",
  "userCount": 73
}
```

<h2 id="feed-action">
  Feed Action
</h2>

Notification when a new RSS feed item is found for registered RSS feeds. Note: if the Webhook is active, new RSS items will not be automatically posted to the social networks.

### Feed Event

```json theme={"system"}
{
    "action": "feed",
    "created": "2023-01-05T01:18:47Z",
    "code": 200,                                          // HTTP response code
    "refId": "140b8700bd6ade089b242d845e268fb886130c53",  // User Reference ID
    "title": "Title of profile if available",             // optional, only if available
    "data": { ... },
    "url": "https://api.myapp.com/Webhook/Ayrshare/Feed"  // Your webhook URL
}
```

<h2 id="mentions-action">
  Mentions Action
</h2>

Notification when your connected account is mentioned. Available for Instagram.

<Note>
  For Instagram, registering the `mentions` webhook is all that is required to receive mention events. The Messaging Add-On, messaging enablement, and relinking the social account are **not** needed.
</Note>

Ayrshare relays Meta's native mention payload unchanged, adding only the standard envelope fields (`action`, `refId`, `hookId`, `url`, and `timeStamp` with Webhook Security), `subAction`, and `platform`. The example below is the **Instagram** shape: `media_id`, plus `comment_id` when the mention is in a comment. **Facebook** Page mention events are **not currently delivered** — Ayrshare acknowledges them to Meta and does not forward them to your webhook. Only Instagram mentions are delivered today, so `platform` is always `instagram` on this action.

### Mention Event (Instagram)

```json theme={"system"}
{
  "action": "mentions",
  "subAction": "mention",
  "platform": "instagram",            // The social network the mention came from
  "media_id": "17900000000000000",    // Meta media the mention occurred on
  "comment_id": "17900000000000001",  // Present when the mention is in a comment
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1705010424,             // Present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Mentions"  // Your webhook URL
}
```

<h2 id="comments-action">
  Comments Action
</h2>

Notification when a comment is created on your connected content. Available for Facebook and Instagram.

<Note>
  For Instagram, registering the `comments` webhook is all that is required to receive comment events. The Messaging Add-On, messaging enablement, and relinking the social account are **not** needed.
</Note>

Ayrshare relays Meta's native comment payload unchanged, adding only the standard envelope fields (`action`, `refId`, `hookId`, `url`, and `timeStamp` with Webhook Security), `subAction`, and `platform`. The example below is the **Instagram** shape. **Facebook** comments arrive as a Page `feed` change with different field names (for example `comment_id`, `post_id`, `message`, and `from.name`); consult Meta's webhooks reference for the Facebook field set. Because both networks deliver to the same `comments` endpoint, branch on `platform` — `instagram` or `facebook` — instead of inferring the network from which field names are present.

### Comment Event (Instagram)

```json theme={"system"}
{
  "action": "comments",
  "subAction": "comment",
  "platform": "instagram",             // The social network the comment came from
  "id": "17900000000000002",           // Comment ID
  "text": "Great post!",
  "from": {
    "id": "1234567890",
    "username": "alice"
  },
  "media": {
    "id": "17900000000000000",         // ID of the commented media
    "media_product_type": "FEED"       // e.g. FEED, REELS, STORY
  },
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1705010424,             // Present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Comments"  // Your webhook URL
}
```

## Automations Action

Notification when an automation fires a webhook action for a user, such as a comment or DM auto-reply trigger.

### Automation Event

```json theme={"system"}
{
  "action": "automations",
  "automationId": "a1B2c3D4",
  "triggerId": "t9X8y7Z6",
  "trigger": "comment_keyword",        // The trigger type that fired the automation (varies by automation)
  "platform": "instagram",
  "recipientId": "17841400000000000",
  "recipientUsername": "alice",        // null if unavailable
  "keyword": "INFO",                   // null if not keyword-triggered
  "timestamp": "2026-05-27T22:00:30Z", // When the automation fired (ISO 8601)
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1705010424,             // Unix timestamp, present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Automations"  // Your webhook URL
}
```

## Demo Action

Notification for [Demo User Profile](/docs/apis/profiles/overview#demo-user-profiles) lifecycle events. Demo User Profiles are available on the Enterprise plan; please [contact us](mailto:support@ayrshare.com) if you'd like to learn more.

Two event types are sent on the `demo` action, distinguished by the `type` field:

* `upgradeWarning` — sent two days before a Demo User Profile automatically converts to a standard User Profile, so you can prompt your user to continue or remove the profile.
* `upgrade` — sent when the conversion happens.

### Demo Upgrade Warning Event

```json theme={"system"}
{
  "action": "demo",
  "type": "upgradeWarning",
  "demoExpires": "2026-08-27T09:57:00.000Z",  // When the profile converts (ISO 8601)
  "daysUntilUpgrade": 2,
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1787734624,             // Unix timestamp (2026-08-26), present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Demo"  // Your webhook URL
}
```

### Demo Upgrade Event

```json theme={"system"}
{
  "action": "demo",
  "type": "upgrade",
  "upgradedAt": "2026-08-28T08:57:04.000Z",  // When the profile converted (ISO 8601)
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1787907424,             // Unix timestamp (2026-08-28), present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Demo"  // Your webhook URL
}
```

## Suspended Action

Notification when a User Profile is [suspended or reactivated](/docs/multiple-users/manage-user-profiles#reactivate-a-suspended-user-profile). Suspensions can originate from a social network's own enforcement (for example a Facebook identity verification requirement), from [rate limit protection](/docs/errors/errors-http#rate-limit-protection-and-suspension-policy), or from billing issues. While a profile is suspended, API calls for that profile return HTTP 403.

Two event types are sent on the `suspended` action, distinguished by the `type` field:

* `suspend` — sent when the profile is suspended. Pause posting and other activity for this profile until it is reactivated.
* `unsuspend` — sent when the profile is reactivated.

Events are sent only when the profile's overall suspension state changes. A profile can be suspended for more than one cause at a time: if an additional cause is added while the profile is already suspended, or one of several causes is resolved while another still applies, no event is sent — the profile remains suspended, and the next event is the `unsuspend` when the last cause clears. To inspect the current suspension state at any time, use [Get Profiles](/docs/apis/profiles/get-profiles) with `include=suspension`.

A platform-triggered suspension is usually preceded by a [Social Action](#social-action) unlink event for the affected network. The suspension can only be resolved at the source — for example, a Facebook identity check must be completed by the Page admin in the Facebook app — after which the profile can be reactivated and the network relinked.

### Suspend Event

```json theme={"system"}
{
  "action": "suspended",
  "type": "suspend",
  "reason": "Confirm your identity before you can publish as this Page.", // As reported by the platform or Ayrshare; null if unavailable
  "platform": "facebook",              // The social network that triggered the suspension; null if not platform-triggered
  "origin": "policy",                  // What suspended the profile: policy, payment, rateLimit, manual, report, or subscription; null if unavailable
  "suspendedAt": "2026-08-13T20:31:41.128Z", // When the suspension occurred (ISO 8601); null if unavailable
  "unsuspendAt": null,                 // Scheduled automatic reactivation (ISO 8601), when already known
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1786731101,             // Unix timestamp, present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Suspended"  // Your webhook URL
}
```

### Unsuspend Event

```json theme={"system"}
{
  "action": "suspended",
  "type": "unsuspend",
  "reason": null,
  "platform": null,
  "origin": null,
  "suspendedAt": null,
  "unsuspendAt": null,
  "hookId": "dI3PNhrG83j2FzAFJqkb",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",  // User Reference ID
  "timeStamp": 1786988742,             // Unix timestamp, present with Webhook Security
  "url": "https://api.myapp.com/Webhook/Ayrshare/Suspended"  // Your webhook URL
}
```

<Note>
  Suspension events are sent for the profile whose state changed. You can also check suspension state on demand with [Get Profiles](/docs/apis/profiles/get-profiles) using `include=suspension`, which returns `isSuspended`, `reason`, `suspendedAt`, `unsuspendAt`, and `suspensionCount`.
</Note>
